【问题标题】:How to Integrate angular cli project with nodejs/expressjs project如何将 Angular cli 项目与 nodejs/expressjs 项目集成
【发布时间】:2018-09-20 23:14:13
【问题描述】:

我有 2 个项目,如下图所示。 Node 和 Express 项目位于 root 文件夹中,Angular CLI 项目位于 angular-src 文件夹中。 我可以单独运行每个项目,使用node app.js 在端口3000 上运行后端,使用ng serve 在端口4200 上运行前端 集成这两个项目的最佳方式是什么,并且最容易部署?

Full Project Folder Full Project Folder with angular src files shown

【问题讨论】:

  • 当你说集成时,你的意思是你想从你的节点网络服务器提供 Angular 应用程序吗?
  • @Garuuk 是的,例如,我的意思是在同一个端口上运行两个应用程序,或者在从我的节点项目中使用 GET 请求时渲染 Angular 项目

标签: node.js mongodb express angular-cli mean-stack


【解决方案1】:

大多数人将他们的前端 (fe) 和后端 (be) 保存在单独的存储库中。当您认为一个 be 可以有多个 fe 时,这是有道理的。

但是,将它们保存在同一个存储库中通常更容易。然后,当您部署时,您只需要克隆一个 repo。

另外,这取决于你走哪条路线。你会在你的服务器上安装 Node.js 等还是你会走 docker 路线?

人们经常喜欢使用 docker 来容器化他们的 fe 和 be。这种方法的好处是您只需要在您部署的每台服务器上安装一个依赖项,即 docker 本身。其他一切都存在于 docker 世界中。

此外,docker 可以轻松地从任何服务器进行 docker pull。如果出现问题,只需杀死您的 docker 容器并启动一个新容器(假设您的数据不会因此而丢失,这不是 fe 的担心,而是值得关注的问题)。

显然,有 docker 学习曲线,但并不太痛苦。

【讨论】: