Javascript 什么是冒号:在npm脚本名称中?
试图弄清楚在npm脚本名称中放入:的作用。例如: package.jsonJavascript 什么是冒号:在npm脚本名称中?,javascript,node.js,bash,shell,Javascript,Node.js,Bash,Shell,试图弄清楚在npm脚本名称中放入:的作用。例如: package.json "test:ci": "rest of script" :ci会做什么?运行npm运行测试:ci失败 我真的找不到任何bash语法。我相信这只是一种命名约定,用于对一组相关任务进行分组。例如,您可能有 "test:ci": ... "test:units": .... "test:integration"... 在本例中,它是对一组相关的测试任务进行分组 这将由包作者来指定。您可以像上面的回答中所述那样拆分任务,然后
"test:ci": "rest of script"
:ci
会做什么?运行npm运行测试:ci
失败
我真的找不到任何bash语法。我相信这只是一种命名约定,用于对一组相关任务进行分组。例如,您可能有
"test:ci": ...
"test:units": ....
"test:integration"...
在本例中,它是对一组相关的测试任务进行分组
这将由包作者来指定。您可以像上面的回答中所述那样拆分任务,然后使用一个“全局”的test
命令,该命令将每个任务组合在一起,例如test:ci&&test:unit&&test:integration
,使您能够在需要时一次或单独运行所有任务
您可以使用
npm run all
()并使用命令npm run all test:
,该命令将查找以test:
组开头的所有脚本。我通过运行-“npm run”
在我的package.json
文件中,我有两个“启动脚本”
start
:nodemon server.js
start:elasticsearch
:docker运行elasticsearch..
使用npm run start:elasticsearch解决了此问题。如果使用Thread package manager,您可以在名称中使用冒号从任何工作区调用脚本 根据以下文件: 鲜为人知的特性:任何名称中带有冒号的脚本(
build:foo
)都可以从任何工作区调用
此外,根据以下文件:
否则,如果指定的名称包含冒号字符,并且项目中的某个工作区恰好包含一个具有匹配名称的脚本,则将执行此脚本
但它是如何分组的呢?它到底在做什么?有什么好处?@PositiveGuy我已经用一些进一步的上下文/示例更新了原始答案。上面没有“答案”:(与
bash
无关。显然,这是一种可能的约定。为什么我可以调用npm test,但要调用自定义测试脚本(如testHeadless),我必须调用npm run testHeadless?