使用 angular cli 制作平均堆栈应用程序?

Making a Mean stack application with angular cli?

我是 Angular2 的初学者。

这是我关注的文章: https://scotch.io/tutorials/mean-app-with-angular-2-and-the-angular-cli

Tl;dr: ng new app, ng serve, npm install express 等,创建服务器文件,ng build 最后节点 express.js 从 dist

服务 index.html

我在这篇文章中构建的应用程序的问题是它从 dist 提供服务,这意味着我将不得不停止服务器,运行 一个新的构建并在每次更改时重新启动服务器,这从开发人员的 pov。我希望每次刷新时都能反映我对客户端的更改。

有人可以指出正确的方向以实现这一目标吗?或者让我知道如何使架构正确,即使这意味着从头开始

PS:我一直在尝试修改此示例以从开发 (src/) 提供服务,但到目前为止我没有成功。浏览器无法找到依赖项,显示 "loading.." 抛出错误,如 "System is not defined" 和“语法错误 '<'。

我理解你的痛点。我已经看过本教程及其在某种程度上的公平性,但正如您所说,没有为更改编写的自动刷新脚本。但是,我随后决定为 MEAN 堆栈项目开发创建自己的存储库。检查以下 URL 我托管我的 MEAN 应用程序的地方,包括

  • 浏览器同步
  • gulp
  • nodemon

https://github.com/darpanpathak/MEAN2-MarvelApp

此存储库将对您使用 angular2 启动 MEAN 堆栈应用程序有很大帮助。

如果您正在寻找相同的东西,请竖起大拇指。

Tl;dr: ng new app, ng serve, npm install express etc, create server files, ng build and finally node express.js to serve index.html from dist

要让 webpack 在开发过程中观察您的更改,您只需在构建应用程序时添加 --watch。所以你应该在控制台终端中输入如下内容:

ng build --watch

然后运行你的服务器:

node server.js

应该可以。

我也遇到了这个问题,所以写了一点post。 你可以找到详细的解决方案here

总而言之,对我有用的是为服务器和客户端使用不同的端口,并将我的 npm start 命令配置为 运行 服务器和客户端并行。 您将进行热重载(当您更改客户端代码时,它会立即刷新 Web 浏览器),网页将调用您的服务器 API。

顺便说一句,我无法让 ng build --watch 工作,所以我不得不考虑这个解决方法。