首页 >web前端 >js教程 >如何将命令行参数传递给我的 npm 脚本?

如何将命令行参数传递给我的 npm 脚本?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-12 15:22:11479浏览

How Can I Pass Command Line Arguments to My npm Scripts?

将命令行参数发送到 npm 脚本

当涉及到 npm 脚本时,通常希望将参数从命令行传递到正在执行的脚本。让我们深入研究如何实现这一点。

npm 2 和更新版本

从 npm 2 开始,传递参数很简单:

npm run <command> [-- <args>]

这里的关键元素是 - - 分隔符。它区分用于 npm 的参数和用于脚本的参数。

例如,使用下面的 package.json 片段:

{
  "scripts": {
    "grunt": "grunt",
    "server": "node server.js"
  }
}

您可以按如下方式传递参数:

npm run grunt -- task:target  // invokes `grunt task:target`
npm run server -- --port=1337 // invokes `node server.js --port=1337`

注意: 即使参数不以 - 或 -- 开头,也建议显式 -- 分隔。考虑:

npm run test foobar
['C:\Program Files\nodejs\node.exe', 'C:\git\myrepo\test.js', 'foobar']

相反,使用显式 -- 可以消除歧义:

npm run test -- foobar
['C:\Program Files\nodejs\node.exe', 'C:\git\myrepo\test.js', 'foobar']

要访问脚本中的参数值,请参阅 process.argv。或者,考虑使用 yargs 或 minimist 等解析库,以更灵活地处理参数(包括命名参数)。

以上是如何将命令行参数传递给我的 npm 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn