entry 指示 webpack 應該使用哪一個模塊開始構建其內部依賴關係圖。html
entry 的 默認值是 ./src/index.js。webpack
能夠在 webpack.config.js(webpack 的配置文件)裏自定義。web
// webpack.config.js module.exports = { entry: './path/to/my/entry/file.js' }
output 告訴 webpack 在何處派發出它建立的包,以及如何命名這些文件。npm
output 的默認值 是 ./dist/main.js瀏覽器
能夠在 webpack.config.js(webpack 的配置文件)裏自定義。babel
// webpack.config.js const path = require('path'); module.exports = { entry: './path/to/my/entry/file.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'my-first-webpack.bundle.js' } };
webpack 只能解析 JavaScript 和 JSON 文件。優化
Loader 容許 webpack 處理其餘類型的文件,並將它們轉換爲可由應用程序使用並添加到依賴關係圖中的有效模塊。ui
loaders 在 webpack 配置裏有兩個屬性:插件
// webpack.config.js const path = require('path'); module.exports = { output: { filename: 'my-first-webpack.bundle.js' }, module: { rules: [ { test: /\.jsx?$/, use: 'babel-loader' } ] } };
雖然 loader 用於轉換某些類型的模塊,可是能夠利用插件執行更普遍的任務,好比包優化、資產管理和環境變量注入。code
// webpack.config.js const HtmlWebpackPlugin = require('html-webpack-plugin'); const webpack = require('webpack'); module.exports = { module: { rules: [ { test: /\.txt$/, use: 'raw-loader' } ] }, plugins: [ new HtmlWebpackPlugin({ template: './src/index.html' }) ] };
html-webpack-plugin 這個插件的用途是 爲應用程序自動生成 html 文件,而且自動注入。
經過將 mode 參數設置爲 development、production 或 none,你能夠啓用與每一個環境相對應的 webpack 內置優化。 默認值是 production。
mode
// webpack.config.js module.exports = { mode: 'production' // mode default value is 'production' };
// npm command line in Webpack Cli webpack --mode=production
瀏覽器兼容