何时使用'npm start'以及何时使用'ng serve'?
ng serve
通过一个开发服务器来服务一个Angular项目
npm start
运行包的“scripts”对象的“start”属性中指定的任意命令。 如果在“scripts”对象上没有指定“start”属性,它将运行节点server.js。
看来ng serve
启动embedded式服务器,而npm start
启动节点服务器。
有人可以抛出一些光?
npm start
将运行您为package.json
文件中scripts
对象的start
命令定义的任何内容。
所以如果看起来像这样:
"scripts": { "start": "ng serve" }
然后npm start
将运行ng serve
。
从文件
npm-start :
这将运行包的“脚本”对象的“开始”属性中指定的任意命令。 如果在“scripts”对象上没有指定“start”属性,它将运行节点server.js。
这意味着它将调用package.json中的启动脚本
"scripts": { "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite --baseDir ./app --port 8001\" ", "lite": "lite-server", ... }
ng服务 :
由angular / angular-cli提供,以启动由angular-cli创build的angular2应用程序。 当你安装angular-cli时,它将在C:\Users\name\AppData\Roaming\npm
(对于windows)下创buildng.cmd并执行"%~dp0\node.exe" "%~dp0\node_modules\angular-cli\bin\ng" %*
所以使用npm start
你可以让你自己的执行在ng serve
的地方只适用于angular-cli
另请参见: 运行ng服务时会发生什么?