[英]Express File Serving and Static Files
大家好,我不知道该搜索什么内容,但这是我的问题。 对于我们的项目,我们使用Express共享用于我们应用程序的服务器。 我们不允许共享网址,因此出于问题的考虑,我将不得不更改网址。 我们的服务器根目录是http://www.server.com ,但我们的项目URL是http://www.server.com/team01/ 。 我如何每次都能从/team01/public/css/whatever.css提供服务,但要保留文件以便在localhost上进行测试。 我不想每次从本地主机迁移到服务器时都必须更改链接。 同样,对于我们所有的href来说,它都将进入server.com,这使从本地主机迁移到服务器的所有事情都弄糟了。 任何帮助表示赞赏。 我用过app.use('/ public',express.static(path.join(__ dirname,'/ public'))); 在表达。
在HTML文件中,您可以参考:
<link href="/css/whatever.css">
这将告诉浏览器使用从中加载网页的任何主机,但始终请求该主机上的/css/whatever.css
路径。
然后,您的快递服务器可以使用以下命令:
app.use(express.static("/team01/public"));
这将告诉快递服务器,当它接收到对/css/whatever.css
的请求时,应在/team01/public/css/whatever.css
查找文件是否存在,如果存在,则从那里静态地提供文件。 。
使用此方案,只要您在本地主机服务器上的/team01/public
中有正确文件的副本,就应该能够在本地主机上正常运行。 然后,当您切换到实际的http://www.server.com
,只需确保您也将/team01/public
文件复制到该主机。
仅供参考,您还可以在网站上每个网页的开头添加<base href="http://server.com/fa17">
,然后将其与页面中的所有相关URL一起使用。 如果您使用模板引擎来提供HTML文件,则可以通过启动代码(基于服务器的运行位置)来控制该标记中自动包含的路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.