使用 Angular CLI 1.6.0 时 ng serve 使用什么服务器?

What server does ng serve use when using Angular CLI 1.6.0?

当使用 Angular CLI 1.6.0 时,此 Angular CLI 命令使用什么服务器?

ng serve

既然 webpack 现在被 Angular CLI 用于网站捆绑,这是否意味着 ng-serve 正在使用 webpack-dev-server(这是一个 Node.js Express 服务器) ?以下 Q/A 中有一些迹象表明 ng serve 可能用于搭载 Ember 使用的服务器:

尝试ng eject 此命令将覆盖您的 package.json 并在您的根目录中生成一个名为 webpack.config.js 的文件。

这将为您提供您的项目正在使用的所有当前 webpack 配置。

当您这样做时,在您的 package.json 中,您会发现:

"scripts": {
    "eject": "ddc eject",
    "build": "webpack",
    "start": "webpack-dev-server",
    "test": "karma start ./karma.conf.js",
    "pree2e": "webdriver-manager update --standalone false --gecko false --quiet",
    "e2e": "protractor ./protractor.conf.js"
  },

如您所见,npm start 正在使用 webpack-dev-server.

NOTE: To undo your changes, use git, otherwise AngularCli doesn't provide a way of undoing

是的,它使用 webpack-dev-server。您可以查看 ng eject 命令的源代码:

https://github.com/angular/angular-cli/blob/6449a753641340d8fc19a752e1a1ced75f974efa/docs/documentation/1-x/eject.md