我的本地路径如何工作真是太奇怪了。例如,这里是我的层次结构:
公开> css> bootstrap.css
公开> js> bootstrap.js
模板>布局> page.ejs(任何页面的默认模板)
模板> index.ejs和其他.ejs模板
所以我的page.ejs是我的样式和脚本链接:
<link rel="stylesheet" href="css/bootstrap.css"/>
<script src="js/jquery.js"></script>
<script src="js/bootstrap.js"></script>
由于某种原因,它适用于我的index.js。每当我进入网站并查看源代码时,请单击链接,所有找到并且很好。每当我的example.ejs文件发生同样的情况时 - 找不到这些链接,因为它是从源中的/ players /目录调用的。
例如,从&#39; /&#39;调用这些文件。页面看起来像:
GET /css/bootstrap.css 304 3.155 ms - -
GET /js/jquery.js 304 3.748 ms - -
GET /js/bootstrap.js 304 3.714 ms - -
但是来自/ players /的同一模板中对同一文件的调用如下所示:
GET /players/css/bootstrap.css 404 1.436 ms - 38
GET /players/js/jquery.js 404 1.197 ms - 33
GET /players/js/bootstrap.js 404 1.151 ms - 36
显然他们的标签是404,因为找不到它们。所以我的问题是:
我如何使用我的所有路径?
我已尝试过这些文件的绝对路径 - 仍未找到。我曾尝试过想某种动态脚本,但我还是不确定它是如何工作的。
由于某种原因,它添加了自己的文件路径,而不是使用模板的路径...呃,我甚至不知道如何解释它,但我认为你明白了。我认为&#34;公众&#34;目录与路由绑定,这就是为什么我不需要将它包含在索引页面请求的文件中,但是其他任何文件呢?
谢谢你,抱歉蹩脚的问题!
答案 0 :(得分:1)
<script src="js/jquery.js"></script>
<script src="js/bootstrap.js"></script>
应该是这样的:
<script src="/js/jquery.js"></script>
<script src="/js/bootstrap.js"></script>
否则浏览器将包含相对于当前URL的脚本。