【发布时间】:2014-09-03 19:44:09
【问题描述】:
我正在将 Ember.js 应用程序及其 Express REST API 对应项拆分为两个不同的项目。我以为这样会更干净。
在此之前,我的 Express 应用程序同时提供 REST 端点和所有静态文件,例如 index.html 和 app.js。但现在,ember-cli 负责提供静态文件,Express 应用处理身份验证 + REST。
我遇到的最后一个问题是我现在有两个不同的端口:ember-cli 使用 http://localhost:4200 和 express 使用 http://localhost:3333。当我通过身份验证从 Express 获取会话 cookie 时,由于相同的来源策略,它永远不会在后续请求中发送(请参阅:How do I send an AJAX request on a different port with jQuery?)。
现在,如果我理解正确,我有两个解决方案:
- 设置 Express 以支持 JSONP 并确保 Ember 也使用它
- 安装本地 Nginx 或 Apache 并设置代理通行证
第一个解决方案不行,因为部署后两个应用程序将使用相同的域/端口。第二种解决方案可能会奏效,但要求开发人员安装本地 Web 服务器来简单地运行应用程序似乎有点荒谬。
我相信你们中的许多人以前都遇到过这个问题。您有什么建议可以简化开发?
谢谢!
【问题讨论】:
标签: ember.js express nginx ember-cli