如何解决使用 Express 提供静态文件还是使用 Express 仅访问后端?
出于什么原因,您会使用路由通过 Express 提供静态 HTML/CSS/JS 文件,而不是直接点击这些文件,然后使用 Express 纯粹与后端交互?
例如,我可以直接访问我在某处托管的网页,即 www.test.com/login.html,然后使用 JS 向托管在某处的 Express 服务器发出提取请求。
或者我可以单独指向我的域通过其 IP 地址与 Express 服务器交互,并让 Express 提供这些静态文件。
出于什么原因我会使用一个而不是另一个?
希望这是有道理的,如果我错过了一个技巧,我深表歉意 - 这一切都相对较新!
谢谢
解决方法
出于什么原因,您会使用路由通过 Express 提供静态 HTML/CSS/JS 文件?
如果您的文件确实是静态的(其中根本没有动态内容),那么谁为它们提供服务并不重要。您可以从任何地方为他们服务。然后,您必须管理两个域,并确保您的服务器已正确设置为 CORS
访问。您甚至可以使用相同的域并使用像 NGINX 这样的代理,该代理仅提供静态内容,同时将其他所有内容转发到您的 Express 服务器。
如果您正在动态生成任何内容(如许多使用模板引擎并从服务器的数据库生成 HTML 内容的网站),那么从 Express 服务器提供您的内容在世界上都是有意义的。
我不建议通过直接 IP 地址与您的 Express 服务器接口,因为在扩展、更改托管设施、负载平衡等方面,这远不如使用 DNS 名称灵活......所以,如果您'将从其他地方提供静态内容,然后在同一个域上使用代理或使用两个不同的域。
从 Express 服务器中获取静态内容的主要原因是当您想要提高可扩展性并且您当前的负载对于 Express 服务器来说太大了。在这种情况下,通常获得可扩展性的最简单方法是将静态文件服务转移到另一个系统。如果您的网站规模仍然很小,那么我不建议让事情变得比它们需要的更复杂。在小规模下保持简单。随着负载的增加,请投资将静态服务剥离给另一台主机。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。