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