gpt4 book ai didi

angular-cli - 为什么在构建角度应用程序(npm run build)时需要添加 'run' 参数?

转载 作者:行者123 更新时间:2023-12-05 03:43:45 25 4
gpt4 key购买 nike

我只是好奇。这是 package.json 文件的一部分

"start": "ng serve -o",
"build": "ng build",
"build-prod": "ng build --prod",
"test": "ng test",

我只是好奇。为什么编写 npm startnpm test 有效。但是,npm build 或 npm build-prod 给我以下错误 build npm build called without arguments。您是要“npm run-script build”吗? 为什么在构建时需要添加 runnpm run buildnpm run build-prod

感谢帮助

最佳答案

npm-run“描述”部分它指出的文档:

"run[-script] is used by the test, start, restart, and stop commands, but can be called directly, as well."

注意:我添加的粗体强调

本质上,npm 会考虑在 package.jsonscripts 部分中定义的任何脚本; teststartrestartstop,成为一个“生命周期”脚本。这四个“生命周期” 脚本中的任何一个都可以在没有 run 关键字的情况下被调用。

上述四个 npm 脚本名称(即 “生命周期” 脚本)中的每一个都有一个专用的 ClI Command , 即 npm test , npm start , npm restart , 和 npm stop , 用于调用它们。

作为示例,请考虑在 package.json 中定义的以下人为设计的 “scripts” 部分:

"scripts": {
"start": "echo \"starting...\"",
"restart": "echo \"restarting...\"",
"stop": "echo \"stopping...\"",
"test": "echo \"testing...\"",

"foo": "echo \"foo...\""
},
  • 名为 foo 的脚本是唯一必须使用 run 关键字调用的脚本,即 npm run foo

  • 与其他的不同,即:startrestartstoptest,它们可以在没有 run 关键字的情况下调用;即 npm startnpm stop 等等。

    旁注:startrestartstoptest 也可以使用 run 关键字调用。即 npm run startnpm run stop 等等。

文档还说明了以下关于 npm run 的内容:

"If no "command" is provided, it will list the available scripts [...] When the scripts in the package are printed out, they're separated into lifecycle (test, start, restart) and directly-run scripts."

鉴于您的问题中显示的 package.json,如果您 cd 到您的项目目录并运行 npm run 您将看到starttest 脚本都列在 “Lifecycle” 部分下。

关于angular-cli - 为什么在构建角度应用程序(npm run build)时需要添加 'run' 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66648789/

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