一个 package 之如何指定项目或库中所需 node 的版本号

指定一个项目所需的 node 最小版本,这属于一个项目的质量工程。

如果对于版本不匹配将会报错(yarn)或警告(npm),那我们需要在 package.json 中的 engines 字段中指定 Node 版本号

更多质量工程问题,见 如何保障项目质量

长按识别二维码查看原文

标题:如何保障项目质量

一个 package 之如何指定项目或库中所需 node 的版本号_第1张图片

     

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

一个示例:

「我在本地把项目所需要的 node 版本号改成 >=16.0.0,而本地的 node 版本号为 v8.17.0

此时,npm 将会发生警告

npm WARN EBADENGINE Unsupported engine { package: '[email protected]',
npm WARN EBADENGINE   required: { node: '>=16.0.0' },
npm WARN EBADENGINE   current: { node: 'v8.17.0', npm: '7.14.0' } }

而 yarn 将会直接报错

error [email protected]: The engine "node" is incompatible with this module. Expected version ">=16.0.0". Got "8.17.0"

而如果我们「项目中某些依赖所需要的 Node 版本号与项目运行时的 Node 版本号不匹配,也会报错(在yarn中)」,此时无法正常运行项目,可避免意外发生

 

你可能感兴趣的:(#,Webpack,npm,json,前端)