用于版本号的 npm package.json 配置变量
Posted
技术标签:
【中文标题】用于版本号的 npm package.json 配置变量【英文标题】:npm package.json config variables used for version numbers 【发布时间】:2017-05-08 15:11:10 【问题描述】:我的 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】:我也一直在努力解决这个问题。对我来说,问题是我想在不同的环境中使用不同的 npm 标签('latest' 用于 dev,'prod' 用于 prod)。我想出的解决方案是为标签使用环境变量。我在 package.json 中设置了以下内容。由于我在除生产服务器之外的所有地方都使用“最新”,因此我避免了无意中更改 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"
【讨论】:
以上是关于用于版本号的 npm package.json 配置变量的主要内容,如果未能解决你的问题,请参考以下文章