乐趣区

关于前端:团队协作如何确保项目Node版本的一致性

前言

想必大家在工作过程中都遇到过 node 版本带来的各种各样的问题,对于团队合作我的项目,你不能保障所有人的本地 node 版本都雷同,所以在我的项目文档中往往会写上以下内容:

  • 为与线上环境统一,请保障以下版本
  • node:15.x.x
  • vue-cli:4.4.x

但这样并不能完全避免问题,比方多个不同我的项目中应用的 node 版本也有所不同,在来回切换中就可能造成 node 版本混用,那么应该如何防止这个问题?

如果这篇文章有帮忙到你,❤️关注 + 点赞❤️激励一下作者,文章公众号首发,关注 前端南玖 第一工夫获取最新文章~

package.json

对于前端工程化我的项目,根目录下都会有一个 package.json 文件,在该文件中有一个属性 engines,它示意申明 node 环境,如果不指定版本(或者指定* 作为版本),那么任何版本的 node 都能够。

"engines": {"node": ">=15.0.0"}

比方这里指定 node 版本必须大于等于 15。

理解更多 package.json 内容,能够查看这篇文章:相熟又生疏的 package.json

但对于 npm 来讲,但即便许多我的项目定义了最低 Node.js 版本,此配置也不会强制执行,也就是说它并不会阻止用户的安装操作。

npm

比方 node 版本限度了大于等于 15,而我应用 14.19.3 的版本来装置依赖

你会发现这样还是可能失常装置,并没有按咱们的期待阻止用户装置依赖。

yarn

同样的配置咱们再来试试 yarn 的体现是怎么的?

能够看到同样的配置,yarn 的体现是咱们想要的成果。如果咱们就是想用npm,是否达到同样的成果?

.npmrc

对于 npm 咱们须要在我的项目根目录下新增 .npmrc 文件,并且显示启用严格的 node 引擎解决,如果一个我的项目蕴含一个 .npmrc 定义严格的引擎,那么执行 npm install 时如果 Node 版本不满足版本要求,装置依赖就会失败。

// .npmrc
engine-strict=true
退出移动版