JSCodemod自动将Webpack配置从v1转换为v2

Webpack 配置从 v1 升级到 v2 的时候,手动改配置挺费劲的,尤其项目老一点、依赖多一点,一不小心就踩坑。JSCodemod这个工具就挺省事儿的,能帮你一键把 v1 的配置转换成 v2 的格式,还能顺带整理一下写法,更清爽。

CommonsChunkPlugin的变化是个重点,以前提公共模块得靠你手动指定,现在 v2 更智能,重复依赖它自己就能搞定,性能也跟着上来了。

还有 loader 那块,以前写loader?minimize=true这种 query,现在都鼓励用options对象,配起来更清楚,也方便后面改。再比如新增的stats字段,可以让你精细控制打包时输出什么信息,定位问题会更方便。

JSCodemod是用 AST 做代码转换的工具,说白了就是自动把你原来的webpack.config.js跑一遍转换规则,把老写法换成新写法。你只要:

npm install -g jscodeshift
# 克隆转换规则仓库
git clone https://github.com/webpack/codemod.git
cd codemod/transforms
# 在项目根目录执行
jscodeshift -t ./webpack-v2.js

跑完之后记得检查一下结果,有些东西它识别不了,你得自己补一下,是一些动态配置或者复杂插件那块。

对了,改之前一定记得备份原来的配置。JSCodemod 虽然挺靠谱,但也不排除它转换的不完美。你理解了它的转换逻辑,后续手动改也更有底气。

如果你项目还停留在 Webpack v1,用JSCodemod升级会省下不少时间。不想自己造轮子的话,这工具还真值得一试。

zip 文件大小:6.4KB