module.rules)webpack只理解js模块,需要loader支持{
test: /\.css/ // 匹配目标文件
use: 'css-loader' // 选择loader 需要单独安装
}
plugins) 涉及范围包括 打包优化和压缩、重新定义环境中的变量plugins: [
new UglifyJsPlugin()
]
名词
chunk
bundle
entry: {
main: './path/to/my/entry/file.js'
}
可简写为字符串形式
module.rules
use: [
{
loader: 'css-loader',
options: {
modules: true
}
}
]
tree-shaking ( 减少打包后的体积 )
描述移除 JavaScript 上下文中的未引用代码(dead-code)
Magic Comments : 魔法注释 webpackChunkName
/* webpackChunkName: vendor*/
模块热替换 HMR
代码分离
动态导入
import(/* webpackChunkName: "lodash" */ 'lodash').then(_ => {
})
bundle 分析工具
vuecli 配置 webpack 打包分析
"analyzer": "set analyzer=true && vue-cli-service build "