试图弄清楚在npm脚本名称中放置冒号的作用。例如:
package.json
"test:ci": "rest of script"
:ci
会做什么?运行npm run test:ci
失败了。
我真的找不到任何bash语法错误。
试图弄清楚在npm脚本名称中放置冒号的作用。例如:
package.json
"test:ci": "rest of script"
:ci
会做什么?运行npm run test: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-all
,你可以运行所有脚本或根据需要运行单个脚本。 - user3376065我通过运行 - "npm run <scriptName>"
解决了这个问题。
在我的package.json
文件中,有两个“start scripts”。
start
: nodemon server.js
start:elasticsearch
: docker run elasticsearch..
通过npm run start:elasticsearch
解决了问题。
npm init
时导致歧义)。他们已经为某些常见的用户定义脚本添加了快捷方式,但不能对所有脚本进行分类处理。 - zr0gravity7build:foo
)的任何脚本都可以从任何工作区调用。 "scripts": {
"test": "react-scripts test",
"test:e2e": "node_modules/.bin/cypress open"
},
这两个test
脚本的目的是为了测试项目代码。
当我们需要运行e2e
测试时,我们使用脚本npm run test:e2e
,当我们需要运行integration
或unit
测试时,我们运行脚本npm run test
。
bash
无关。显然这是一个惯例,可能需要更好的解释。 - Dan Dascalescu