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

时间:2016-12-22 22:23:57

标签: reactjs npm package.json

我的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的未来版本中吗?

1 个答案:

答案 0 :(得分:1)

我也一直在努力解决这个问题。对我来说问题一直是我想在不同的环境中使用不同的npm标签('最新'代表开发,'prod'代表prod)。我想出的解决方案是为标记使用环境变量。我在package.json中设置了以下内容。由于除了生产服务器之外我到处都使用'最新',我避免了无意中更改git repo的问题:

  "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"
  }