【发布时间】:2022-02-13 18:46:03
【问题描述】:
我尝试从可靠的网站学习如何使用 express 读取静态文件。然后我发现不知道为什么,我的终端告诉我我成功了,但网站告诉我"Cannot Get /"(如下图所示)。我找到了很多解决方案(例如,在我的 html 文件中,我将脚本 src 添加到 socket.io)但仍然失败。我可以从哪里开始处理它?请帮帮我...
以下是我的代码:
C:\...\1-on-1-webrtc\server.js
const express = require('express')
const app = express()
const http = require('http').createServer(app)
// static data
app.use('/', express.static(__dirname + '/public/'))
// TODO: Signaling
//start server listen 8080 port
http.listen(8080, () => {
console.log(`Server running in 8080`)
})
C:\...\1-on-1-webrtc\pubilc\index.html
(原点)
"hello"
(之后)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>111</title>
<script src="https://cdn.socket.io/socket.io-3.0.5.js"></script>
</head>
<body>
<h1>"hello"</h1>
<script>
var socket = io();
</script>
</body>
</html>
【问题讨论】:
-
错字。目录名
pubilc和你传递给static'/public/'的目录名需要匹配。 -
是不是应该把
(__dirname + '/public/'))改成(__dirname + '/public/index.html')),还是我理解错了? -
您应该将
(__dirname + '/public/'))更改为(__dirname + '/pubilc/')),因为您所说的目录就是这样命名的。 (或重命名目录,使整体拼写更好) -
@Sojona108 您的公共文件夹名称中有错字! ;-) 将“public”的名称更改为“public”
-
@Quentin:天哪!!!谢谢,有效!!!都是我的错,我什至没有注意到我拼错了!实际上,我在寻找为什么它大约 3 天不起作用...我做了什么?
标签: html node.js express socket.io