【发布时间】:2021-03-12 00:39:41
【问题描述】:
我有一个简单的 node.js 应用程序:
server.js
const express = require('express');
const app = express();
const PORT = 8080;
app.use(express.static('client'));
// Start the express web server listening on 8080
app.listen(8080, () => {
console.log('Service started on port 8080.');
});
// Serve the homepage
app.get('/', (req, res) => {
res.sendFile(__dirname + '/index.html');
});
index.html
<html>
... irrelevant junk ...
<script src="js/client.js"></script>
</html>
但是,当我运行node server.js 并打开localhost:8080 时,控制台抱怨它找不到http://localhost:8080/javascript/client.js。
显然,我希望它查看 ./javascript/client.js,而不是植根于 locahost 地址——如何解决?
文件夹层次结构很简单:
.
├── index.html
├── server.js
├── js
└── client.js
我尝试按照here 的建议将public 更改为client,但这没有帮助。
【问题讨论】:
-
client.js在您的服务器文件系统中的确切位置?请显示您的服务器端文件层次结构,以便我们可以看到client.js和server.js的位置(因为您使用的是相对于服务器上的路径)。如果我们知道这两个文件在您的文件系统中的位置,我们可以在 5 秒内回答这个问题。 -
html 尝试加载
src="js/client.js"... 那么为什么服务器抱怨它找不到javascript/client.js- 您的代码表明对js/client.js的请求将从 @987654339 提供@ 其中.是server.js所在的文件夹 -
@jfriend00 添加了树。
标签: javascript node.js server client client-server