npm package.json 用于版本号的配置变量

npm package.json config variables used for version numbers

我的package.json里面有3个React相关的包,版本号一定要同步。我知道使用 Maven,您可以在 POM 文件中定义变量以重复使用并保持版本号在不同包之间同步。

我想用我的 npm package.json 做同样的事情,就像这样:

...
"config": {
  "react_version": "^15.4.1"
},
"dependencies": {
  "react": "$npm_package_config_react_version",
  "react-addons-test-utils": "$npm_package_config_react_version",
  "react-dom": "$npm_package_config_react_version"
}
...

似乎 package.json 文件中设置的 config 变量只能在您的 script 命令中使用。

目前有办法解决这个问题吗? npm 的未来版本中会包含这样的内容吗?

我也一直在纠结这个问题。我的问题是我想在不同的环境中使用不同的 npm 标签('latest' 用于开发,'prod' 用于生产)。我想出的解决方案是为标签使用环境变量。我在 package.json 中设置了以下内容。由于我在除生产服务器以外的所有地方都使用 'latest',因此我避免了无意中更改 git 存储库的问题:

  "scripts": {
    "start": "perl -pi -e \"s#\\"package_name\\".*#\\"package_name\\": \\"$TAG_VAR\\",#\" package.json && node app.js"
  },
  "dependencies": {
    "package_name": "latest",
    "other_package": "^1.0.0"
  }