使用 express got "Cannot Get /" 读取静态文件
Read static files with express got "Cannot Get /"
我试图从可靠的网站学习如何使用 express 读取静态文件。然后我发现不知道为什么,我的终端告诉我我成功了但是网站显示我 "Cannot Get /"
(如下图所示)。我找到了很多解决方案(例如,在我的 html
文件中,我将脚本 src 添加到 socket.io
)但仍然失败。我可以从哪里开始处理它?请帮助我...
terminal show success
website show error
下面是我的代码:
C:\...-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:\...-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>
我稍微更改了您的代码,这是我的解决方案:
首先更改 public
文件夹的名称以更正。不是“pubilc”,只有“public”。
文件夹和文件结构:
server.js :
const express = require("express");
const app = express();
const port = 8080;
// const http = require("http").createServer(app);
// static data
app.use("/", express.static(__dirname + "/public"));
//start server listen 8080 port
app.listen(port, () => {
console.log(`Server is listening at http://localhost:${port}`);
});
index.html(没有任何变化):
<!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>
输出 :
测试:express 4.17.2 node 16.13.0 Linux Ubuntu 20.04 和 Win10
我试图从可靠的网站学习如何使用 express 读取静态文件。然后我发现不知道为什么,我的终端告诉我我成功了但是网站显示我 "Cannot Get /"
(如下图所示)。我找到了很多解决方案(例如,在我的 html
文件中,我将脚本 src 添加到 socket.io
)但仍然失败。我可以从哪里开始处理它?请帮助我...
terminal show success
website show error
下面是我的代码:
C:\...-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:\...-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>
我稍微更改了您的代码,这是我的解决方案:
首先更改 public
文件夹的名称以更正。不是“pubilc”,只有“public”。
文件夹和文件结构:
server.js :
const express = require("express");
const app = express();
const port = 8080;
// const http = require("http").createServer(app);
// static data
app.use("/", express.static(__dirname + "/public"));
//start server listen 8080 port
app.listen(port, () => {
console.log(`Server is listening at http://localhost:${port}`);
});
index.html(没有任何变化):
<!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>
输出 :
测试:express 4.17.2 node 16.13.0 Linux Ubuntu 20.04 和 Win10