Node.js Express错误

问题描述 投票:-2回答:1

您可以在这里找到我为此项目的整个仓库:https://github.com/austindickey/FriendFinder

下载目录后,请按照自述文件在计算机上进行初始化。

我的survey.html页面似乎找不到onClick.js文件。

错误消息-无法加载资源:(onClick.js)服务器以404状态(未找到)响应

[当我从onClick文件中取出代码并将其脚本标记放在survey.html页面底部时,出现另一个错误。

错误消息-ReferenceError:找不到变量:要求

我完全迷路了。请帮助。

谢谢。

javascript jquery html node.js express
1个回答
0
投票

代码看起来不完整。我看不到服务器在哪里有onclick.js的任何路由。因此,当浏览器找到此标记时:

<script type="text/javascript" src="../onClick/onClick.js"></script>

然后浏览器从您的服务器请求onclick.js,您的服务器无法识别该请求并发送回404。通常会使用express.static()指向某种包含公共JS文件的公共目录image文件,CSS文件等...将在您的网页中使用。该express.static()中间件将在服务器文件系统的公共目录中查找,以查看是否可以在其中找到传入的请求,如果可以,则将其发送回浏览器。似乎您在HTML页面中可能使用的任何图像或CSS文件都会遇到相同的问题,因为它们也没有路由。

回顾一下,默认情况下,nodejs服务器根本不提供任何文件。现在,您有两条服务于两个HTML文件的路由,但是您没有针对这些HTML文件中使用的任何图像或脚本文件的路由,因此这些其他文件将不起作用。浏览器将找到他们的<script><img>标签,并向您的服务器询问这些资源,您的服务将为其提供404。您需要这些文件的路由或一些可以满足这些请求的通用express.static()中间件文件。

此外,请勿将"../onClick/onClick.js"之类的路径用于其他资源。您未指定服务器文件系统的路径。而是,您指定一个顶级URL,然后对服务器进行编程以在服务器磁盘上的特定目录中查找以找到匹配的文件。该URL可能类似于"/scripts/onclick.js",然后您将配置express.static()路由以确保其可用于该URL。

© www.soinside.com 2019 - 2024. All rights reserved.