我正在使用 Node.js 服务器来显示 HTML 文件。 HTML 使用 Javascript 文件来获取一些信息,但我无法访问该文件。这是我的 index.html 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Swarm Profile</title>
</style>
</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="/js/script.js"></script>
</body>
</html>
还有我的 Node.js 服务器文件:
var http = require('http');
var fs = require('fs');
const hostname = '127.0.0.1';
const port = 9000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/html');
fs.createReadStream("./index.html").pipe(res);
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
我应该使用什么才能访问 script.js 文件?
最佳答案
node 中已经有很多静态文件处理模块,看一下: Node static modules
最受欢迎的是:Node-Paperboy和 Node-Static
使用 Node 静态非常简单:
var static = require('node-static');
var file = new(static.Server)('./public');
require('http').createServer(function (request, response) {
request.addListener('end', function () {
file.serve(request, response);
});
}).listen(8080);
关于javascript - 无法使用 Node.js 通过 HTML 访问 JavaScript 静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48936073/