JS:nvmrc vs package.json 引擎?

JS: nvmrc vs package.json engines?

我试图在我的 javascript 项目中锁定节点和 npm 版本,以确保其他开发人员在构建要提交的包时拥有那些特定版本。我刚刚将此添加到我的 package.json:

  "engineStrict" : true,
  "engines": {
    "node" : "10.10.0",
    "npm" : "6.5.0"
  },

这会最终强制执行这些版本吗?我不熟悉锁定版本,因为我曾经是前端项目或继承项目的唯一开发人员。
或者,添加指定相同版本的 .nvmrc 文件是否有好处,或者如果我使用的是引擎,那是多余的吗?

强制执行 Node.js 版本

engineStrict 自 npm v3 以来已弃用,但您可以在 .npmrc 文件中设置 engine-strict=true。如果您在 package.json 中设置了 engines,当有人在不受支持的 Node.js 版本上安装时会抛出错误。

.nvmrc 方便开发者

为了让其他开发者更容易使用受支持的 Node.js 版本,您可以添加一个 .nvmrc 文件。现在其他开发者可以 运行 nvm use 自动使用支持的版本。