我可以在 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 );

那么剩下要做的就是使用npmyarn 运行您的命令。

npm run my-command <your-argument e.g. file.js>

如果您想将它传递给另一个命令,您可以使用require( 'child_process' ).exec 调用该命令。可以在here 找到一个很好的例子。

【讨论】:

我实际上并不打算进行测试。对不起,我只是想不出一个通用的命令。 do_something &lt;any_file.js&gt; 之类的东西? 好的,我更新了我的答案 :) 希望它更清楚

以上是关于我可以在 package.json 的脚本属性中放置文件名的变量吗的主要内容,如果未能解决你的问题,请参考以下文章

npm package.json 属性详解

为啥我可以将脚本添加到 package.json 中的脚本? [关闭]

`package.json` 顺序启动脚本只执行其中一个脚本

如何从 package.json“脚本”执行 powershell ps1 脚本?

使用 shell 脚本提取 package.json 版本

npm脚本探析