试着弄清楚什么是:在npm脚本名称中。例如:
的package.json
"test:ci": "rest of script"
:ci
会做什么?正在运行npm run test:ci
失败
我真的找不到任何bash语法。
答案 0 :(得分:2)
我认为这只是将一组相关任务分组的命名约定。例如,你可能有
test
在这种情况下,它正在对一组相关的测试任务进行分组。
这将由包装作者指定。您可以像上面的答案中所描述的那样拆分任务,然后使用“全局”test:ci && test:unit && test:integration
命令组合每个任务,例如npm-run-all
使您可以一次性运行它们,也可以在需要时单独运行它们。
您可以使用npm-run-all test:*
(link)并使用命令test:
,然后找到以{{1}}组开头的所有脚本。
答案 1 :(得分:1)
我通过运行-"npm run <scriptName>"
在我的package.json
文件中,我有两个“启动脚本”
start
:nodemon server.js
start:elasticsearch
:docker run elasticsearch..
已解决npm run start:elasticsearch
答案 2 :(得分:1)
如果使用Yarn程序包管理器,则可以在名称中使用冒号从任何工作空间调用脚本。
根据How to share scripts between workspaces?上的yarn文档:
鲜为人知的Yarn功能:可以在任何工作空间中调用名称为(
build:foo
)冒号的任何脚本。
另外,根据CLI > run上的yarn文档:
否则,如果指定的名称包含冒号,并且项目中的工作空间之一恰好包含一个名称匹配的脚本,则将执行该脚本。