gpt4 book ai didi

node.js - 为什么我必须使用 "npm start x"启动某些脚本,而其他脚本仅使用 "npm x"启动?

转载 作者:太空宇宙 更新时间:2023-11-03 23:00:58 25 4
gpt4 key购买 nike

在我的package.json中,我有以下部分用于脚本定义。

"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
}, ...

每当我想运行应用程序时,我都会npm start(它执行ngserve)。我也可以通过 npm run start 实现相同的结果。现在,当我尝试构建我的应用程序时,我进行了 npm build 但与我的预期相反,没有执行任何构建(没有错误,也没有,执行完成时没有任何输出到控制台) 。我必须改为npm run build(当然,它执行了ng build --prod)。

我不明白其中的差异。

最佳答案

npm startnpm test 是特殊值,您可以在不使用“run”一词的情况下运行。

npm run 实际上是 npm run-script 的快捷方式,它允许您运行编写到 package.jsonscripts 属性中的脚本。

但是 npm run 也可以运行位于 node_modules/.bin 文件夹中的脚本。

例如,这意味着您可以运行 npm run mocha 而不是 mocha test

否则,npm 是一个可执行文件,可以与 npm [command] 一起使用。

编辑如果您想知道,starttest是特定的,不需要run关键字,因为它们是最常用的关键字,并且使用它们可以让您非常快速地运行长命令。

启动是不是很好

npm test 

而不是

ng test --code-coverage --reporters mocha,progress,jkhtml --browsers chrome,phantomjs -sm=false

???

关于node.js - 为什么我必须使用 "npm start x"启动某些脚本,而其他脚本仅使用 "npm x"启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48207345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com