【发布时间】:2016-09-29 02:00:13
【问题描述】:
我正在使用 php 编写一个带有 Angular2 前端和 REST WebAPI 后端的项目。
我一直在使用npm's lite 服务器(又名npm start)运行/调试前端。到目前为止,我一直在使用in-memory-web-api 来提供数据,但我已经准备好开始从后端消费真实数据了。
在生产中,前端和后端都将由同一个 Apache 服务器提供服务,但在开发中,我一直使用 npm 来运行 Angular2,并使用单独的 Apache 服务器来运行 API。
我的问题是npm 在localhost:3000 上运行,而Apache 在localhost:80 上运行。这会产生跨源安全问题,让我的 Angular2 应用程序获取数据的唯一方法是在我的 REST API 上启用 CORS。如果可以避免的话,我不想在后端启用 CORS,因为我担心它可能会以某种方式进入生产环境。
到目前为止,npm's 服务器非常好,因为它会自动编译我的 .ts 文件,并在检测到文件更改时刷新浏览器。除非有办法保留这些不错的功能,否则我真的宁愿不必将我的 Angular2 开发转移到 Apache。
有没有什么方法可以在不启用 CORS 的情况下将这两个东西分开?
如果没有,有没有办法可以将两者合并,同时保留 npm 的优点?
【问题讨论】: