node.js - 节点:从 npm 脚本访问命令行参数并从脚本中使用它们
问题描述
我想在我的 package.json 中定义以下脚本
scripts: {
"filter": "npm run jest -- -t $1",
"jest": "jest",
[...]
这个想法是我可以跑去npm run filter -- my-filter
执行npm run jest -- -t my-filter
如果我运行:
npm run filter -- pattern
-->
npm run jest -- -t $1 "pattern"
$1 是字面的。如果我在我的脚本中取消 $1 它可以正常工作,看起来 npm 在句末传递了所有参数。我只想知道如何使用单个参数
解决方案
你可以这样做。
npm run <command> [-- <args>]
例如 :-
"scripts": {
"server": "node server.js"
}
那么以下命令将是等效的:
node server.js --port=1337 => npm run server -- --port=1337
另一个简单的例子,
{
"print": "f(){ echo Hello $1! && echo Bye $2! ;};f",
"test": "npm run print -- world stranger"
}
你得到:
$ npm test -s # -s is to suppress npm messages for this example
Hello world!
Bye stranger!
希望这段代码可以帮助您理解和解决您的问题。
推荐阅读
- reactjs - React + Jest :- Babel Error Plugin/Preset files are not allowed to export objects, only functions
- android - RecyclerView Android中的重叠项目
- mockito - java.lang.ClassCastException: org.mockito.codegen.Throwable$MockitoMock$1720133689 不能转换为 com..exception.myException
- c# - 使用真实与克隆属性编辑 C# WPF PropertyGrid
- java - Java:为什么使用 nextInt() 时 while(true) 循环会自动中断?
- android - 如何更改 ListView 项目的高度?
- python - 自定义提交无效 JSON 数据时的错误响应
- java - (有点解决但仍然感谢更好的答案) Android Studio:如何识别 PDF 文件中的某些特殊页面?
- python - python根据创建时间排序文件路径
- ios - 由于版本较低错误,无法在设备上启动用 Swift 编写的 iOS 应用程序