我正在将Ember.js应用程序及其Express REST API分成两个不同的项目.我认为事情会更加清洁.
在那之前,我的Express应用程序都提供REST端点和所有静态文件,如index.html
和app.js
.但现在,ember-cli负责提供静态文件,Express应用程序处理身份验证+ REST.
我遇到的最后一个问题是我现在有两个不同的端口:ember-cli使用http://localhost:4200
和快速使用http://localhost:3333
.当我在身份验证时从Express获取会话cookie时,由于相同的源策略,它永远不会在后续请求中发送(请参阅:如何使用jQuery在不同的端口上发送AJAX请求?).
现在,如果我理解正确,我有两个解决方案:
Setup Express支持JSONP并确保Ember也使用它
安装本地Nginx或Apache并设置代理传递
第一个解决方案不行,因为部署后两个应用程序将使用相同的域/端口.第二种解决方案可能会起作用,但要求开发人员安装本地Web服务器以简单地运行应用程序似乎有点荒谬.
我相信很多人以前都遇到过这个问题.你有什么建议让开发变得容易?
谢谢!