将参数传递给npm run script命令

时间:2016-09-05 12:19:12

标签: node.js

我有像这样定义的npm脚本

npm run compress

我可以通过命令npm run compress --base_folder=src 运行。

我想创建基本文件夹的名称,即'src'是动态的,所以我可以在运行脚本时将基本文件夹名称作为param传递,例如

"compress": "uglifyjs ${base_folder}/script.js -o ${base_folder}/script.js"

运行脚本

"C:\some\entry D:\another\entry"

   (processing here ... below is the content of variable after processing)

<fileset dir="C:\some\entry" includes="*.myext" />
<fileset dir="D:\another\entry" includes="*.myext" />

2 个答案:

答案 0 :(得分:0)

最好的选择是使用环境变量,因为到目前为止,npm并不支持这种复杂的逻辑。另一方面,环境变量提供类似的功能。

命令:

base_folder=src npm run compress

的package.json:

"compress": "uglifyjs $base_folder/script.js -o $base_folder/script.js"

答案 1 :(得分:0)

您需要npm-config。在$npm_config_base_folder中使用package.json

"scripts": {
    "compress": "uglifyjs $npm_config_base_folder/script.js -o $npm_config_base_folder/script.js"
}

然后执行npm run compress --base_folder=src