什么是:在npm脚本名称?

时间:2017-12-02 08:46:01

标签: javascript node.js bash shell

试着弄清楚什么是:在npm脚本名称中。例如:

的package.json

"test:ci": "rest of script"

:ci会做什么?正在运行npm run test:ci失败

我真的找不到任何bash语法。

3 个答案:

答案 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文件中,我有两个“启动脚本”

startnodemon server.js

start:elasticsearchdocker run elasticsearch..

已解决npm run start:elasticsearch

答案 2 :(得分:1)

如果使用Yarn程序包管理器,则可以在名称中使用冒号从任何工作空间调用脚本。

根据How to share scripts between workspaces?上的yarn文档:

鲜为人知的Yarn功能:可以在任何工作空间中调用名称为(build:foo)冒号的任何脚本。

另外,根据CLI > run上的yarn文档:

否则,如果指定的名称包含冒号,并且项目中的工作空间之一恰好包含一个名称匹配的脚本,则将执行该脚本。