本文需要读者懂一点点前端的构建知识:
1. package.json文件的作用之一是管理外部依赖;
2. .npmrc是npm命令默认配置,放在工程根目录。
Web前端构建一直都是一个不难,但是非常烦人的问题,在DevOps、CI/CD领域。
烦人的是偶尔发生这样的事情:
1. 开发在本地构建通过,但是流水构建失败。这时前端开发人员会经常报怨Pipeline不稳定;
2. 流水线构建通过,但是在生产环境上启动不了,或者出现运行错误;
3. 不使用Docker可以启动,但是打包成Docker镜像后启动就失败。
这类问题,不是今天解决了,明天就不会发生。而是你根本不知道它什么时候又发生。
据我观察,绝大多数时候都是依赖版本管理没有做好导致的。
Web前端的依赖版本管理包括以下几个维度:
1. node的版本
2. 外部依赖的版本