webpack 笔记
配置文件
webpack.config.js
命令
webpack-cli
核心概念
- entry 规定入口文件,一个或者多个
- output 规定输出文件的位置及命名规则 只有一个出口
path
filename - loader 各个类型模块的转换工具 (对应配置
module.rules
)webpack只理解js模块,需要loader支持
{
test: /\.css/ // 匹配目标文件
use: 'css-loader' // 选择loader 需要单独安装
}
- plugin 用于执行范围更广的任务(对应配置
plugins
) 涉及范围包括 打包优化和压缩、重新定义环境中的变量
内置插件plugins: [ new UglifyJsPlugin() ]
- mode 模式 development 或 production
名词
chunk
bundle
entry
entry: {
main: './path/to/my/entry/file.js'
}
可简写为字符串形式
loader
module.rules
use: [
{
loader: 'css-loader',
options: {
modules: true
}
}
]
重要内容
-
tree-shaking ( 减少打包后的体积 )
描述移除 JavaScript 上下文中的未引用代码(dead-code) -
Magic Comments : 魔法注释
webpackChunkName
/* webpackChunkName: vendor*/
- webpack-dev-server
模块热替换 HMR
- resolve
代码分离
动态导入
import(/* webpackChunkName: "lodash" */ 'lodash').then(_ => {
})
bundle 分析工具
vuecli 配置 webpack 打包分析
"analyzer": "set analyzer=true && vue-cli-service build "
- optimization
- minimizer
- runtimeChunk
- noEmitOnErrors
- splitChunks
内容会不断更新,欢迎批评指正。
分类:
web前端
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
2021-06-22 HTML 表单元素上方出现莫名空白 解决
2021-06-22 按照设计稿的像素px值设置fontsize,但实际高度却超过了设置 解决
2021-06-22 上外边距margin-top透过父元素 下外边距margin-bottom失效 解决
2021-06-22 js 遍历 Array 数组的方法