Node jS API 和 Angular jS 应该在同一个项目中吗?

Should Node jS API and Angular jS be on the same project?

我有一个仅包含 API.

的 Node JS 后端

我想为我的系统开发一个 Angular 仪表板,它通过 REST API 进行通信以执行所有操作。

我见过一些 MEAN 示例,其中 Angular 项目位于 Node JS 项目中,在 public 文件夹中。

但是我想知道这是否是最好的方法,或者我是否应该创建另一个仅连接到 API 并独立托管的项目。

我主要担心的是 Node JS 项目部署在 Google Cloud Platform 中并且我有 feeling/understanding 每当我更新某些东西时我需要上传一个全新的项目实例(并且流量被重定向到这个新实例),所以如果为前端更改提交新更新,我将失去对 API 版本的控制。

不,它不必在同一个项目或主机上,angular 2 或任何其他单页应用程序框架都可以与任何 API 一起工作,只要你应用同源策略或您的 API 提供正确的 CORS 策略 headers.

这里是 enable CORS on express.js 如果您打算在不同的域上安装后端。

或者您可以 redirect/proxy 从不同的上游或静态文件提供特定的 url using Nginx for example

您甚至可以通过 cdn 托管您的 angular 应用程序,而您的 api 位于任何其他主机上。

甚至建议在单独的开发周期中管理后端和前端。