在package.json中访问环境variables
要在npm脚本中访问一个环境variables,你可以在你的package.json
做这样的事情:
"scripts": { "preinstall": "echo ${npm_package_name}" }
问题是只能在Unix中使用,而不能在Windows中使用%npm_package_name%
。
有没有办法做到这个独立的操作系统? 在调用命令之前,如果npm可以做这样一个可变的扩展,那将会很好。
为了使其跨平台,请使用cross-var
:
"scripts": { "preinstall": "cross-var echo ${npm_package_name}" }
没有已知的方法可以独立于操作系统。
一个很好的解决方法是在节点脚本中执行命令:
首先,更改preinstall
命令以执行节点脚本:
"scripts": { "preinstall": "node nameEcho.js" }
然后在nameEcho.js文件中定义命令:
// require the package.json file var pjson = require('./package.json'); // echo the package's name console.log(pjson.name);