當前位置:編程學習大全網 - 網絡軟體 - 什麽是WebPack,為什麽要使用它

什麽是WebPack,為什麽要使用它

1. 為什麽用 webpack?

他像 Browserify, 但是將妳的應用打包為多個文件. 如果妳的單頁面應用有多個頁面, 那麽用戶只從下載對應頁面的代碼. 當他麽訪問到另壹個頁面, 他們不需要重新下載通用的代碼.

他在很多地方能替代 Grunt 跟 Gulp 因為他能夠編譯打包 CSS, 做 CSS 預處理, 編譯 JS 方言, 打包圖片, 還有其他壹些.

它支持 AMD 跟 CommonJS, 以及其他壹些模塊系統, (Angular, ES6). 如果妳不知道用什麽, 就用 CommonJS.

2. Webpack 給 Browserify 的同學用

對應地:

browserify main.js > bundle.js

webpack main.js bundle.js

Webpack 比 Browserify 更強大, 妳壹般會用 webpack.config.js 來組織各個過程:

// webpack.config.js

module.exports = {

entry: './main.js',

output: {

filename: 'bundle.js'

}

};

這僅僅是 JavaScript, 可以隨意添加要運行的代碼.

3. 怎樣啟動 webpack

切換到有 webpack.config.js 的目錄然後運行:

webpack 來執行壹次開發的編譯

webpack -p for building once for production (minification)

webpack -p 來針對發布環境編譯(壓縮代碼)

webpack --watch 來進行開發過程持續的增量編譯(飛快地!)

webpack -d 來生成 SourceMaps

4. JavaScript 方言

Webpack 對應 Browsserify transform 和 RequireJS 插件的工具稱為 loader. 下邊是 Webpack 加載 CoffeeScript 和 Facebook JSX-ES6 的配置(妳需要 npm install jsx-loader coffee-loader):

// webpack.config.js

module.exports = {

entry: './main.js',

output: {

filename: 'bundle.js'

},

module: {

loaders: [

{ test: /\.coffee$/, loader: 'coffee-loader' },

{ test: /\.js$/, loader: 'jsx-loader?harmony' } // loaders 可以接受 querystring 格式的參數

]

}

};

要開啟後綴名的自動補全, 妳需要設置 resolve.extensions 參數指明那些文件 Webpack 是要搜索的:

// webpack.config.js

module.exports = {

entry: './main.js',

output: {

filename: 'bundle.js'

},

module: {

loaders: [

{ test: /\.coffee$/, loader: 'coffee-loader' },

{ test: /\.js$/, loader: 'jsx-loader?harmony' }

]

},

resolve: {

// 現在可以寫 require('file') 代替 require('file.coffee')

extensions: ['', '.js', '.json', '.coffee']

}

};

  • 上一篇:在線教育平臺
  • 下一篇:遙感地
  • copyright 2024編程學習大全網