ng serve
通过开发服务器为Angular项目提供服务
npm start
运行在包的“脚本”对象的"start“属性中指定的任意命令。如果在“脚本”对象上没有指定"start“属性,它将运行节点server.js。
看起来好像是ng serve
启动了嵌入式服务器,而npm start
启动了节点服务器。
有人能帮我照亮一下吗?
发布于 2016-10-22 17:39:52
npm start
将运行您在package.json
文件中为scripts
对象的start
命令定义的任何内容。
因此,如果它看起来像这样:
"scripts": {
"start": "ng serve"
}
然后npm start
将运行ng serve
。
发布于 2017-12-07 09:13:24
对于使用CLI的项目,您通常会使用ng serve。在其他情况下,您可能希望使用npm start。下面是详细的解释:
ng发球
将为“Angular CLI感知”的项目提供服务,即使用Angular CLI创建的项目,特别是使用:
ng new app-name
因此,如果您已经使用CLI搭建了一个项目,那么您可能希望使用ng serve
npm启动
这可以用在一个不支持Angular CLI的项目中(或者可以简单地用来为一个支持Angular CLI的项目运行'ng serve‘)。
正如另一个回答所述,这是一个npm命令,它将从标识符为“start”的package.json运行npm命令,而不只是运行“ng serve”。在package.json中可能会有如下内容:
"scripts": {
"build:watch": "tsc -p src/ -w",
"serve": "lite-server -c=bs-config.json",
"start": "concurrently \"npm run build:watch\" \"npm run serve\""
...
},
"devDependencies": {
"concurrently": "^3.2.0",
"lite-server": "^2.2.2",
在这种情况下,'npm start‘将导致运行以下命令:
concurrently "npm run build:watch" "npm run serve"
这将并发运行TypeScript编译器(监视代码更改),并运行Node lite-BrowserSync(用户使用该服务器)
发布于 2016-10-22 18:01:05
从文档中
这将运行在包的"scripts“对象的"start”属性中指定的任意命令。如果在“脚本”对象上没有指定"start“属性,它将运行节点server.js。
这意味着它将调用package.json内部的启动脚本
"scripts": {
"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite --baseDir ./app --port 8001\" ",
"lite": "lite-server",
...
}
由angular/angular-cli提供,用于启动由angular-cli创建的angular2应用程序。安装angular-cli时,它将在C:\Users\name\AppData\Roaming\npm
下创建ng.cmd (用于windows)并执行"%~dp0\node.exe" "%~dp0\node_modules\angular-cli\bin\ng" %*
因此,使用npm start
可以执行自己的命令,其中ng serve
仅适用于angular-cli
https://stackoverflow.com/questions/40190538
复制相似问题