为什么在公用文件夹中找不到我的JavaScript文件?

时间:2019-01-31 17:20:26

标签: javascript node.js

我正在尝试建立我的第一个网站,并且在我的node.js代码中遵循以下路线:

app.get("/contact_form", function(req, res){
    res.render("new_contact");
});

new_contact正确包含了我的JavaScript文件,而我使用的是:

<script type="text/javascript" src="scripts/jquery.min.js"></script>

现在我将路线更改为:

app.get("/contact_form/new", function(req, res){
    res.render("new_contact");
});

它停止工作了;我必须在脚本之前用/更改包含,以使其再次起作用:

<script type="text/javascript" src="/scripts/jquery.min.js"></script>

请,有人可以彻底向我解释一下发生了什么吗?我看了几个答案和网站,但是所有的解释都是非常模糊的: 1.斜线表示根。 2.没有斜线是相对路径

还有儿子。

谢谢。

1 个答案:

答案 0 :(得分:2)

如果您的网址为:https://localhost/contact_form,则相对路径(src="scripts/jquery.min.js")将使用以下命令查找jquery:

  

https://localhost/scripts/jquery.min.js

进行更改后,您将获得以下网址:https://localhost/contact_form/new。如果您继续使用 relative 路径,浏览器将使用以下命令查找jquery:

  

https://localhost/contact_form/scripts/jquery.min.js

哪些不起作用,因为它不存在。它位于 root

因此,更改为 root 路径(src="/scripts/jquery.min.js")总是从根路径开始(仅在域之后):

  

https://localhost/scripts/jquery.min.js