如何从项目外部提供静态页面?

时间:2018-01-15 07:16:39

标签: angularjs node.js express mean-stack

我目前正在构建一个人们可以预订度假租赁的网络应用程序。我的一个要求是将其分解为两个独立的项目。一个用于前端,一个用于后端。我的问题是在我的后端项目中从我的节点服务器提供前端项目中文件的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

出于安全原因和维护原因。

最推荐的方法是将其分为两台服务器。一个用于前端静态文件,第二个用于后端。

静态项目,您可以使用serve npm包服务。它只会为静态文件打开端口。

然后,您可以为每个项目创建一个子域。例如:

  • www.myproject.com
  • api.myproject.com

或者您可以使用NGINX从一个域提供相同的项目:

  • www.myproject.com
  • www.myproject.com/api

如果您使用NGINX,则不需要单独的服务器来存储静态文件。 NGINX可以提供前端静态html文件,每个以/api开头的网址都会转发到您的后端。

更多信息:

当您有更多流量时,您可能希望从云存储(例如Amazon S3)提供静态文件,或者您希望实现缓存系统(例如CloudFlare)。因此,通过分离后端和前端的项目,从一开始就很容易。