背景
近期公司内多批之前使用uniapp下的构建h5的项目,安装依赖之后,打包或者构建开发服务刚开始会提示一个@dcloudio/uni-cli-i18n依赖缺失,如图一。单独安装此依赖后,打包不再报错,但是无任何结果产生(正常现象应该为打包日志输出以及包产生)
图一
原因
为了查找打包不报错,但是无任何结果产生的原因,我们通过vscode的断点调试从打包入口的命令行开始执行,断点调试的launch.js如图二
图二
通过断点调试运行,发现执行到对@dcloudio/vue-cli-plugin-uni执行idToPlugin时报错,如图三
图三
往下继续执行,进一步定位到是对这个包进行编译时,服务终止了,如图四
图四
那么为了研究为了编译报错,去看了下@dcloudio/vue-cli-plugin-un的代码,发现index引入了@dcloudio\vue-cli-plugin-uni\lib\copy-webpack-options.js,而此文件又导入了@dcloudio/uni-i18n,如图五
图五
而@dcloudio/uni-i18n也没作为@dcloudio下哪个包的生产依赖
解决方案
yarn add -D @dcloudio/uni-cli-i18n @dcloudio/uni-i18n