何时使用'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服务时会发生什么?