Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 当用户访问404页面时,指向静态资产的快速链接中断_Node.js_Express - Fatal编程技术网

Node.js 当用户访问404页面时,指向静态资产的快速链接中断

Node.js 当用户访问404页面时,指向静态资产的快速链接中断,node.js,express,Node.js,Express,我正在使用express创建一个简单的应用程序。我已经使用手柄对模板进行了编码,看起来像这样: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" lang="english"> <title>{{ title }} </title> </head> <body> {{{body}}} <script s

我正在使用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>

{{title}}
{{{body}}}
问题是,如果用户访问404页面,那么站点中每个静态资产的链接都会中断。我找到的唯一解决方案是硬编码指向静态文件的链接,如下所示:

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

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

谢谢

更改此行

当前,您正在查找与当前页面(相对路径)位于同一文件夹中的
my.js
文件

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

它将在以下位置查找javascript文件:
http://localhost:3000/myroute/js/my.js

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


感谢您的快速回复,它工作得很好。但是为什么它不能更早地工作呢?我更新了我的回复,添加了一点解释,再加上一个链接,进一步解释文件路径。