我正在构建一个package.json并使用“npm run”运行一些脚本,确切地说是https://docs.npmjs.com/misc/scripts。
我的脚本需要扩展一些环境变量,我想让它跨平台兼容。例如,我的脚本会说
"scripts": {
"build": "md %npm_package_version%\helloworld"
}
但它目前正在Windows上运行,因为环境变量的扩展。 Linux将使用md $npm_package_version\helloworld
。
npm
是否附带了一种转换环境变量扩展的机制,以便跨平台工作?
答案 0 :(得分:10)
要使其跨平台,请使用cross-var
:
"scripts": {
"build": "cross-var md %npm_package_version%\helloworld"
}
答案 1 :(得分:9)
npm
似乎没有跨平台的方式来扩展环境变量,但您确实有自己的节点,所以我建议您将所有脚本实现为节点脚本,然后您可以访问{ {1}}和跨平台文件系统函数,如process.env
。
<强>的package.json 强>
mkdirSync
<强> utils的/ mkdir.js 强>
"scripts": {
"build": "node utils/mdkir.js"
}