在我的 package.json 中,我有以下部分用于脚本定义。
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
}, ...
每当我想运行应用程序时,我都会去 npm start (执行 ng serve )。我也可以 npm 运行开始获得相同的结果。现在,当我尝试构建我的应用程序时,我去了 npm build 但是与我的期望相反,没有执行构建(没有错误,也没有,执行完成时没有任何输出到控制台) 。我不得不去 npm run build (当然,它执行 ng build --prod )。
我不明白这种差异。
答案 0 :(得分:2)
npm start
和npm test
是您可以在没有的情况下运行的特殊值...好吧,不使用单词run
。
npm run
实际上是npm run-script
的快捷方式,可让您将自己编写的脚本运行到scripts
的{{1}}属性中。
但是package.json
也可以运行位于npm run
文件夹中的脚本。
这意味着您可以运行node_modules/.bin
而不是npm run mocha
。
否则,npm是一个可以与mocha test
一起使用的可执行文件。
编辑如果你想知道,npm [command]
和start
是特定的,并且不需要run关键字,因为它们是最常用的关键字,并且使用它们允许你可以很快地运行长命令。
启动
不是很好test
而不是
npm test
???
答案 1 :(得分:1)
你可以运行npm" native"直接脚本,对于自定义脚本,您必须npm run {customscript}