关于使用 angular-cli 的 MEAN 2 堆栈

About MEAN 2 stack using angular-cli

我正在学习 MEAN 2.0。我需要在 运行 宁 "node server.js" 之前做 "ng build"。

我想请问我是否需要每次在 angular 端更改某些内容时都执行 (ng build) ?因为当我只使用 angular-cli 时,当我改变了一些东西时我的服务器仍然是 运行ning。它将显示更改。我试图改变一些东西,但是当我重新 运行 我的节点服务器时没有任何反应。

是的,您需要在 运行 节点 server.js 之前进行构建。

ng serve :- 在服务器上服务, 节点 server.js :- 不在同一个端口上服务,它在您在 server.js 中定义的端口上运行,它从构建文件夹中读取,这将需要更新 fies。

实时重新加载不起作用:(

你可以 1.为其编写任务 2. 在 package.json 中编写脚本,执行 ng build && node server.js

如果您将文件夹结构安排为:

|_server |_ server.js |_ public (angular-cli project) |_ dist |_ src |_ package.json (client) |_package.json(server)

  1. 考虑到您有默认 angular-cli package.json,
  2. 使用 npm 添加 concurrentlynpm install concurrently --save-dev
  3. 您只需要将这些脚本添加到 server package.json:

"scripts": { "client":"cd public && ng build", "server":"ndoe ./server/server", "start":"concurrently --kill-others \"npm run client\" \"npm run server\"" }

  1. 现在,您所要做的就是: npm run start