我可以使用什么策略来部署基本页面位于前面的 SPA

What strategy could I use to deploy a SPA with basic page sitting in front

直到最近,我一直在单个 heroku 实例上托管我的开发应用程序。 API 和 angular 应用程序由同一台 Express.js 服务器托管。与前置销售页面一起,与 angular 应用程序分开,位于基本域中。现在是生产时间,所以我需要将两者拆分为 api 服务器和任何其他服务来托管静态页面。

我的当前设置 全部在 express.js 服务器上

  1. mydomain.com --> 销售页面,带有 bower deps 的静态简单页面
  2. 我的域。com/api --> api
  3. mydomain.com/anything else --> Angular App
  4. mydomain.com/assets -> 图片和杂项文件

我喜欢使用 Amazon S3、Cloudfront 或 Divshot 等服务在 CDN 服务上托管 #1、#3 和 #4。并在 Heroku 或 AWS ec2 上保留 API (#2)。

现在,我唯一的想法是我必须自己 运行 一个单独的服务器并使用 Nginx、apache 或 express.js 托管静态文件以允许基于url 因为据我所知,CDN 服务不允许 .htaccess 重定向等。

感谢您的宝贵时间。

为简化起见,这里只有 2 个类别:

  • 静态:销售额,Angular,资产
  • 动态:API

您应该考虑将所有静态资产公开在 mydomain.com/* 下,由任何 CDN 托管,并让动态内容从您的(可能是 AWS)实例 @ api.mydomain.com

这不是您想要的确切布局,但设置起来很简单。

此处唯一的小补充是,由于双域,您可能需要设置 CORS