嘿大家我不知道什么以及要搜索这个问题,但这是我的问题。对于我们的项目,我们正在使用express为我们的应用程序共享服务器。我们不允许分享网址,因此我将不得不为了问题而更改网址。我们的服务器根目录是http://www.server.com,但我们的项目网址是http://www.server.com/team01/。我如何每次都从/team01/public/css/whatever.css提供服务,但保留我们的文件以便在localhost上进行测试。我不想每次从localhost迁移到服务器时都要更改链接。同样对于我们所有的href,它都会发送到server.com,这会搞乱从localhost迁移到服务器的所有内容。任何帮助表示赞赏。我用过 app.use('/ public',express.static(path.join(__ dirname,'/ public')));在快递。
答案 0 :(得分:0)
在HTML文件中,您可以参考:
<link href="/css/whatever.css">
这将告诉浏览器使用从中加载网页的任何主机,但总是请求该主机上的/css/whatever.css
路径。
然后,您的快速服务器可以使用:
app.use(express.static("/team01/public"));
这将告诉快递服务器,当它收到/css/whatever.css
的请求时,应查看/team01/public/css/whatever.css
以查看该文件是否存在,如果存在,则从那里静态地提供服务。
使用此方案,只要您在localhost服务器上的/team01/public
中拥有正确文件的副本,就可以在localhost上运行。然后,当您切换到真实的http://www.server.com
时,您只需确保将/team01/public
文件复制到该主机。
仅供参考,您还可以在网站上的每个网页的头部添加<base href="http://server.com/fa17">
,然后将其与网页中的所有相关网址一起使用。如果您使用模板引擎来提供HTML文件,那么您可以通过启动代码(根据服务器的运行位置)控制该标记中的路径。