一、升级阻碍:clean-webpack-plugin
插件之前做了专门的降版本使用。
原因:
首先考虑到之前在进行dll第三方分离打包的时候,对clean-webpack-plugin
插件进行了降版本处理,原因是为了在npm run build
的时候不删除dll
文件,避免dll
文件的重新打包;而最新版本不支持两个参数传参,因此才使用的旧版本进行实现。
先解决这个插件升级后的支持:
其实最新版本有文档说明,是有参数可以实现不进行删除dll
文件夹的,因此,作如下尝试。
-
卸载及安装:重新安装之后是最新版(文档参考)
引用:这块是我犯的傻,不认真看文档,人家引用变了,而我还按照原来的引用,然后一直报CleanWebpackPlugin is not a constructor
这个错,后来改了之后就好了(v1.0和v2.0都是原来的自定义引用,而到了三这块就是解析引用。) -
修改配置
- cleanOnceBeforeBuildPatterns:删除哪些文件和保留哪些文件。
(1)**/*
:webpack默认为output.path(dist);
(2)去掉public文件夹:
因为将打包文件放在public文件夹下,会导致插件不会删除dist文件,不起作用;为了迎合webpack的默认打包路径,将每个的打包路径都修改后(去除public文件夹),按照以下配置就可实现打包效果。
new CleanWebpackPlugin({
verbose: true, // 打印被删除的文件
cleanOnceBeforeBuildPatterns: ['**/*', '!dll', '!dll/**/*']
}),
- 将所有配置文件(development、dll、production)的输出路径都去掉public。
ok。。。
二、工具辅助进行全部升级
- 可以在vscode安装插件
Version Lens
,可以看出有哪些依赖包更新版本了,然后当次版本号
以及修订号
更新是可以直接点击更新;当主版本号
更新时,需要参照文档进行配置更新。 - 反正依赖包版本更新务必要时不时进行测试,都需谨慎,手动操作。
需要了解的东西:
- 了解
semver(语义化版本控制规范)
。 - 了解
持续集成(CI)
。
网友评论