当用户访问404页面时,在静态资产的快速链接中断

时间:2017-07-26 12:39:54

标签: node.js express

我使用express来创建一个简单的应用程序。我使用把手编写了我的模板,看起来像这样:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" lang="english">
    <title>{{ title }} </title>
</head>
<body>

{{{body}}}

<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="js/my.js"></script>
</body>
</html>

问题是,如果用户访问404页面,则链接到站点中断中的每个静态资产。我找到的唯一解决方案是将链接硬编码到这样的静态文件:

<script src="http://localhost:3000/js/my.js"></script>

显然,这不是推荐的方法。你们怎么解决这个问题? 我来自Django背景,它确实提供了一种连接静态内容的一致且简单的方法。我们在快递(或把手)中有类似的东西。

由于

1 个答案:

答案 0 :(得分:1)

更改此行

<script src="js/my.js"></script>

<script src="/js/my.js"></script>

目前,您正在寻找与当前页面相同的文件夹中的my.js文件(相对路径)。

例如,如果您的页面存在于: http://localhost:3000/myroute/mypage

它会查找javascript文件 http://localhost:3000/myroute/js/my.js

通过将其更改为/js/my.js,它将指向站点的根目录(绝对路径): http://localhost:3000/js/my.js

HTML Filepaths

All About File Paths