OS 独立访问 package.json 中的变量

OS independent access to variables in package.json

要访问 npm 脚本中的变量,您可以在 package.json:

中执行类似的操作
"scripts": {
    "preinstall": "echo ${npm_package_name}"
}

问题是它只能在 Unix 中工作,而不是 Windows,你必须在其中使用 %npm_package_name%

有没有办法做到这一点 OS 独立?如果 npm 可以在调用命令之前进行这样的变量扩展,那就太好了。

没有已知的 OS 独立的方法来做到这一点。

一个好的解决方法是在节点脚本中执行命令:

首先,更改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);

要使其成为 cross-platform,请使用 cross-var:

"scripts": {
    "preinstall": "cross-var echo ${npm_package_name}"
}