【发布时间】:2021-05-18 04:46:37
【问题描述】:
我想 npm 运行一个命令,根据我在命令行中传递的文件名生成一个动态输出文件。但我无法从以下命令生成它
在脚本的 package.json 中,我添加了命令:
scripts:{
"gen-out":"some_cmd src/app/parser/$npm_config_filene.st -o src/app/parser/$npm_config_filene.j"
}
运行后
npm run gen-out --filene=myfile
它会生成一个名为 $npm_config_filene.js 而不是 myfile.js 的文件
有人可以帮忙吗?
【问题讨论】:
-
您可能在 Windows 上运行此命令,在这种情况下,npm 使用
cmd作为运行 npm 脚本的默认 shell。cmd中的变量使用%...%表示法引用(与 *nix 上的sh不同,它使用美元 ($) 前缀)。如果您使用的是 Windows,请尝试使用%...%在您的 npm 脚本中封装npm_config_filene变量。例如:"gen-out":"some_cmd src/app/parser/%npm_config_filene%.st -o src/app/parser/%npm_config_filene%.js" -
感谢它的工作
标签: npm command-line