SPA - 将客户端与服务器分开

时间:2014-05-05 20:09:42

标签: javascript deployment ember.js single-page-application sails.js

我想在客户端使用Ember.js构建单个页面应用程序,并使用Sails.js构建REST API。

我想将客户端与服务器完全分开,并且想要在CDN或s3中托管所有客户端组件(css,img和index.html),而服务器可能会托管在Horoku上。

如何避免跨域问题?使用CNAME可能吗?

这是常见做法吗?

此类部署过程可以使用哪些工具?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用Cross-Origin Resource Sharing (CORS)。 CORS是Web服务器允许Web浏览器知道允许哪些第三方域(来源)访问其内容的一种方式。所以基本上,你要确保你使用的任何CDN都支持CORS头,这样你就可以告诉CDN将加载资源的服务器的域。

这是一篇关于为Amazon S3启用CORS的文章。它基于使用CDN来服务器Web字体,但这个概念同样适用于所有受保护的文件(即除了CSS之外的所有内容,HTML中加载的图像和Javascript文件)。

你也可以使用另一个Sails服务器作为你的CDN,因为它支持开箱即用的CORS(文档here)。可能需要进行一些调整来完成高端CDN所做的所有花哨的缓存,但它可以完成!