Javascript 执行节点js时出错:加载资源失败:服务器响应状态为404(未找到)

Javascript 执行节点js时出错:加载资源失败:服务器响应状态为404(未找到),javascript,html,css,node.js,Javascript,Html,Css,Node.js,希望你们都做得很好。我的问题是,每当我试图创建一个导航栏并在我的服务器上为该导航栏提供服务时,它都会响应错误404 not found,但我已将我的徽标文件放在代码所在的同一目录中html代码如下:- <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible&

希望你们都做得很好。我的问题是,每当我试图创建一个导航栏并在我的服务器上为该导航栏提供服务时,它都会响应错误404 not found,但我已将我的徽标文件放在代码所在的同一目录中html代码如下:-

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>Discord Chat</title>
        <link href="https://fonts.googleapis.com/css2?family=Karla&display=swap" rel="stylesheet">
        <link rel="icon" href="logo.png">
        <style>
            * {
                margin: 0px;
                padding: 0px;
                font-family: 'Karla', sans-serif;
            }

            #logo {
                width: 50px;
                height: 50px;
                border-radius: 30px;
            }

            .navbar ul{
                position: sticky;
            }

            .navbar ul li a{
                text-decoration: none;
                text-transform: none;
                color: lightseagreen;
            }

            .navbar ul li{
                list-style: none;
                display: inline;
                position: relative;
                top: -30px;
                left: 71px;
                padding: 20px;
            }

            .navbar{
                background-color: black;
                opacity: 0.6;
            }

            .navbar ul li:hover {
                cursor: pointer;
                border-radius: 50px;
                animation-name: navanim;
                animation-duration: 5s;
                animation-iteration-count: 1;
                font-size: 20px;
            }

            @keyframes navanim{
                from{
                    background-color: white;
                    color: black;
                }
                to{
                    background-color: black;
                    color: white;
                }
            }
        </style>
    </head>
    <body>
        <nav class="navbar">
            <img src="logo.png" alt="Discord Chat" id="logo">
            <ul>
                <li><a href="index.html">Home</a></li>
                <li><a href="about.html">About</a></li>
            </ul>
        </nav>
    </body>
</html>

任何我可以在我的网站上显示我的徽标的想法

您需要设置express以提供静态文件。根据它的文件-类似于:

app.use(express.static('public'))
将提供与代码所在位置相关的“public”目录中的文件。 有关更多信息,请访问

您将不需要快捷方式导入express。因此,代码的第一行应该有:

const express = require('express')
const app = express()

(而不是
var-app=require('express')();

由于您将徽标文件保存在其他文件所在的同一文件夹中,您可以尝试以这种方式使用它


express.static(uu dirname)。

如果删除以下行:`
`一切正常吗?而且我想你的问题中有一个输入错误:
sendfile
->
sendfile
嘿,这是导航栏,我不能删除导航栏,而且没有类型我已经检查过了。我建议删除它只是为了解决问题……我在谷歌上搜索过它,这也很有效,而且我还发现了另一个技巧,不是将文件名放满路径,但在这两种情况下,我都得到一个错误,不允许加载本地资源:file:///E:/Creations/Languages/HTml/HTML/Discord%20Chat/logo.pngThe 只有在从本地文件系统而不是端口上的服务器(当您运行node.js时,它是端口上的服务器,甚至是本地服务器)提供HTML时,完整路径技巧才会起作用。它也不会对其他任何人起作用。其中的HTML、CSS和路径由用户的浏览器使用。公共目录由节点服务器提供服务。因此,如何从本地文件系统创建服务器取决于您要执行的操作。如果你的应用程序是动态的,那么继续使用Node和express.js,使用静态文件。如果应用程序相当静态,考虑一个简单的Web服务器-nGnx/Apache。实际情况是,我是后端世界的初学者,我遵循SoCKET.IO教程来创建实时聊天应用程序,并且我得到这个错误,我不想使用XAMPP或Apache服务器,我在端口80i上在本地主机上运行这一点,您能详细解释一下吗?在js文件的哪一行我应用了这个chageYou可以在下面的任何路由配置之前使用它。应用程序使用(express.static(_dirname));
const express = require('express')
const app = express()