You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
我们在项目中使用了InterpolateHtmlPlugin,主要功能就是往index.html文件里插值。例如一些cdn地址,需要把这个配置放在 new HtmlWebpackPlugin({...})之后执行。根据Google搜索结果,因为html-webpack-plugin这个作者没有及时更新webpack4之后的版本,所以webpack就将该项目fork了出来单独做了处理,必须要等index.html文件生成之后才能插值,不然就会报错。
这段时间升级了公司前端项目的webpack,版本升级到4.12.1。下面来介绍下此次升级踩坑遇到的问题:
webpack 4 特点
1.添加mode配置,
development
和production
两个选项,--mode production
会自动压缩代码2.去除了
CommonsChunkPlugin
,改成使用optimization.splitChunks
进行模块划分3.
webpack-cli
用来启用webpack升级
看了下项目目前的webpack配置,感觉需要改动的地方还较小
yarn add -D webpack & webpack-cli
在做这步操作时,建议先查看一下node版本,一些插件对node版本有要求,建议升级node版本(node@>=6.11.5)
原有的
extract-text-webpack-plugin
插件在升级webpack 4.2.x的版本后不再支持,mini-css-extract-plugin
来解决css提取的问题。这也是此次升级的最大改变,本身前端项目就存在css类名重复,后面的样式覆盖前面的样式的问题,所以就启用了
css-module
来解决这个问题。我们在项目中使用了
InterpolateHtmlPlugin
,主要功能就是往index.html文件里插值。例如一些cdn地址,需要把这个配置放在new HtmlWebpackPlugin({...})
之后执行。根据Google搜索结果,因为html-webpack-plugin
这个作者没有及时更新webpack4之后的版本,所以webpack就将该项目fork了出来单独做了处理,必须要等index.html文件生成之后才能插值,不然就会报错。总结:
这次升级给我带来不是项目打包上的便捷和快速,更多的是提升了我从每次编译报错定位问题,以及解决问题的能力。
The text was updated successfully, but these errors were encountered: