-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
webpack 学习整理 #2
Comments
常用插件插件是 webpack 功能的核心,插件几乎活跃在整个 webpack 编译过程中,它可以在 webpack 构建系统中注册钩子,访问/修改编译器,并在必要时刻注入部分代码帮助完善一些辅助功能。 HtmlWebpackPlugin生成 index.html 的 html5 文件, 该 html 文件包含了每次编译之后生成带有 hash 值的 bundle 文件,可直接指定一个已自定义好的 index.html。 常用配置项:
用 chunk 生成 .html 文件时的思考:
SplitChunksPlugin即提取项目中的公共模块,对于第三方库将最终合成一个 vendor 文件, 该文件能够在页面加载的最开始被加载一次,此后便存入到缓存中,每次访问,浏览器能迅速从缓存中取出,以提升加载速度。 在 webpack v4 里,直接开箱即用,默认切割规则为:
满足最后两个条件时,将选择最大的块。 配置项
|
功能1. Code Splitting && Cache
optimization: {
splitChunks: {
cacheGroups: {
vendors: {
chunks: 'all',
test: /[\\/]node_modules[\\/]/,
priority: -10,
},
}
}
} 2. Hot Module Replacement开发过程中,当对代码进行修改并保存后,webpack 将自动对代码进行打包,并将新块发送到浏览器,浏览器通过新的模块替换老的模块,实现在不刷新浏览器的前提下对应用进行更新。 配合 style-loader, css-loader 使用使用
|
几个核心概念
CommonsChunkPlugin
(已为SplitChunksPlugin
) 从应用程序的 bundle 文件中提取 vendor 引用到 vendor 的 bundle 文件中,并把引用 vendor 的部分替换为__webpack_require__()
调用。The text was updated successfully, but these errors were encountered: