到目前为止,我一直在使用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())
所以,如果你能帮我澄清,我感激不尽
问候。
答案 0 :(得分:0)
是的,在前端和后端使用两个单独的项目是很常见的。但这并不意味着它是最好或唯一的方法。它总是取决于您的具体要求和项目的大小。对于较小的项目,将两个项目放在同一个存储库中可能更容易,但这是个人偏好。
关于CORS,它实际上取决于你想要做什么。仅仅因为你有两个独立的存储库并不意味着你必须在不同的域/端口上提供它们。例如,您可以使用nginx将请求路由到您的API或前端,具体取决于网址。如果它们不在同一域/端口上托管,则必须禁用CORS,正如您所说。尽量使规则尽可能严格,只允许您的特定域名。