如何确保团队协作中,项目 Node 版本的一致性?

前言
想必大家在工作过程中都遇到过 node 版本带来的各种各样的问题,对于团队协作项目,你不能保证所有人的本地 node 版本都相同,所以在项目文档中往往会写上以下内容:
为与线上环境一致,请保证以下版本
node:15.x.x
vue-cli:4.4.x
但这样并不能完全避免问题,比如多个不同项目中使用的 node 版本也有所不同,在来回切换中就可能造成 node 版本混用,那么应该如何避免这个问题?
如果这篇文章有帮助到你,❤️关注+点赞❤️鼓励一下作者。
package.json
对于前端工程化项目,根目录下都会有一个 package.json 文件,在该文件中有一个属性 engines,它表示声明 node 环境,如果不指定版本(或者指定*作为版本) ,那么任何版本的 node 都可以。
比如这里指定 node 版本必须大于等于 15。
但对于 npm 来讲,但即使许多项目定义了最低 Node.js 版本,此配置也不会强制执行,也就是说它并不会阻止用户的安装操作。
npm
比如 node 版本限制了大于等于 15,而我使用 14.19.3 的版本来安装依赖

你会发现这样还是能够正常安装,并没有按我们的期待阻止用户安装依赖。
yarn
同样的配置我们再来试试 yarn 的表现是怎样的?

可以看到同样的配置,yarn 的表现是我们想要的效果。如果我们就是想用 npm,能否到达同样的效果?
.npmrc
对于 npm 我们需要在项目根目录下新增.npmrc 文件,并且显示启用严格的 node 引擎处理,如果一个项目包含一个.npmrc 定义严格的引擎,那么执行 npm install 时如果 Node 版本不满足版本要求,安装依赖就会失败。

技术前沿拓展
前端开发,你的认知不能仅局限于技术内,需要发散思维了解技术圈的前沿知识。细心的人会发现,开发内部工具的过程中,大量的页面、场景、组件等在不断重复,这种重复造轮子的工作,浪费工程师的大量时间。
介绍一款程序员都应该知道的软件JNPF快速开发平台,很多人都尝试用过它,它是功能的集大成者,任何信息化系统都可以基于它开发出来。
这是一个基于 Java Boot/.Net Core 构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用;后端框架支持 Vue2、Vue3。如果你有闲暇时间,可以做个知识拓展。
看完本文如果觉得有用,记得点个赞支持,收藏起来说不定哪天就用上啦~
评论