我可以在 package.json 的脚本属性中放置文件名的变量吗
Posted
技术标签:
【中文标题】我可以在 package.json 的脚本属性中放置文件名的变量吗【英文标题】:Can I put a variable for a filename in the scripts property of package.json 【发布时间】:2018-05-16 08:33:23 【问题描述】:我想做这样的事情而不指定文件名:
"scripts":
"test <any_file.js>": "*actual command* <any_file.js>"
【问题讨论】:
【参考方案1】:你真正想做的是阅读一个论点。您可以为此使用process.argv
。有关全局节点变量process
的更多信息,请参见here。
当你的脚本标签看起来像这样时:
"scripts":
"my-command": "my-script.js"
当你的脚本文件看起来像这样时:
console.log( process.argv );
那么剩下要做的就是使用npm
或yarn
运行您的命令。
npm run my-command <your-argument e.g. file.js>
如果您想将它传递给另一个命令,您可以使用require( 'child_process' ).exec
调用该命令。可以在here 找到一个很好的例子。
【讨论】:
我实际上并不打算进行测试。对不起,我只是想不出一个通用的命令。do_something <any_file.js>
之类的东西?
好的,我更新了我的答案 :) 希望它更清楚以上是关于我可以在 package.json 的脚本属性中放置文件名的变量吗的主要内容,如果未能解决你的问题,请参考以下文章
为啥我可以将脚本添加到 package.json 中的脚本? [关闭]
`package.json` 顺序启动脚本只执行其中一个脚本