最近項目裏用到了webpack特地總結一下。來源:http://webpackdoc.comjavascript
是一個前端打包工具,對一些靜態資源(css js img)等進行分析css
CommonJS 規範是爲了解決 JavaScript 的做用域問題而定義的模塊形式,能夠使每一個模塊它自身的命名空間中執行。該規範的主要內容是,=模塊必須經過 module.exports 導出對外的變量或接口,經過 require() 來導入=其餘模塊的輸出到當前模塊做用域中。前端
AMD(異步模塊定義)是爲瀏覽器環境設計的,由於 CommonJS 模塊系統是同步加載的,當前瀏覽器環境尚未準備好同步加載模塊的條件。例如:
定義一個名爲 myModule 的模塊,它依賴 jQuery 模塊:java
define('myModule', ['jquery'], function($) {
// $ 是 jquery 模塊的輸出
$('body').text('hello world');
});
// 使用
define(['myModule'], function(myModule) {});
wbpack --progress --colorsjquery
過參數讓編譯的輸出內容帶有進度和顏色webpack
webpack --progress --colors --watchweb
若是不想每次修改模塊後都從新編譯,那麼能夠啓動監聽模式express
webpack-dev-server --progress --colors瀏覽器
webpack-dev-server會在 localhost:8080 啓動一個 express 靜態資源 web 服務器,而且會以監聽模式自動運行 webpack,而且經過一個 socket.io 服務實時監聽它們的變化並自動刷新頁面服務器
webpack --display-error-details
來打印錯誤詳情
var webpack = require('webpack')
module.exports = {
entry: './entry.js',//入口文件
output: {
path: __dirname,
filename: 'bundle.js'//要打包的文件
},
module: {
loaders: [
{test: /\.css$/, loader: 'style-loader!css-loader'}//配置loader路徑,例如:require('./style.css')
]
},
plugins: [//配置插件,給文件頭部加註釋
new webpack.BannerPlugin('This file is created by hwlv')
]
}