Angular2 / NodeJS项目结构和CORS问题

时间:2017-07-01 03:28:45

标签: node.js angular java-ee cors

到目前为止,我一直在使用Spring Boot和jQuery开发JEE Web应用程序,这是我第一次开发NodeJS / Angular2应用程序。在JEE应用程序中,客户端和服务器端组件都被编译为单个jar / war文件。但是,在我的新开发环境中,我正在开发客户端和服务器端作为两个单独的项目(侦听不同的端口)并从Angular2服务层调用后端URL。我有跨源资源共享(CORS)问题。

我的问题是,通常的做法是将Angular和NodeJS开发为两个独立的应用程序,并通过在NodeJS中使用cors模块来解决CORS问题吗?

我从Node端找到了一些解决方案:

var cors = require('cors')
var app = express()
app.use(cors())

所以,如果你能帮我澄清,我感激不尽

  1. 此架构中正确的项目结构
  2. CORS问题的推荐解决方案。
  3. 问候。

1 个答案:

答案 0 :(得分:0)

是的,在前端和后端使用两个单独的项目是很常见的。但这并不意味着它是最好或唯一的方法。它总是取决于您的具体要求和项目的大小。对于较小的项目,将两个项目放在同一个存储库中可能更容易,但这是个人偏好。

关于CORS,它实际上取决于你想要做什么。仅仅因为你有两个独立的存储库并不意味着你必须在不同的域/端口上提供它们。例如,您可以使用nginx将请求路由到您的API或前端,具体取决于网址。如果它们不在同一域/端口上托管,则必须禁用CORS,正如您所说。尽量使规则尽可能严格,只允许您的特定域名。