【发布时间】:2020-10-28 18:54:29
【问题描述】:
我目前正在尝试使用 Node.js、Express 和 Socket.io 制作游戏。但是,当我尝试在本地运行它时,我收到一个 404 错误,指出找不到我的 javascript 文件。我的文件结构如下:
root
| game
| | game.html
| | game.js
| index.js
我的代码如下所示:
index.js
//Dependencies
var express = require('express'); //Pulls in Express framework
var http = require('http') //Pulls in http module
var socketio = require('socket.io'); //Pulls in Socket.io framework
//Instance Declarations
var app = express(); //Creates an Express instance
var server = http.createServer(app); //Creates an http server using the Express framework
var port_to_listen = process.env.PORT || 3000; //Specifies which port to listen on
var socket = socketio(http); //Creates Socket.io instance related to the server just created
//Default page displayed, always sent to index.html
app.get('/', (req, res) => {
res.sendFile(__dirname + '/game/game.html');
});
//Tells the server to listen for any incoming inconnections
server.listen(port_to_listen, () => {
console.log(`listening on ${port_to_listen}`);
});
socket.on('connection', function(client) {
console.log('Connection made')
});
//Testing to ensure socketio works
setInterval(function() {
socket.sockets.emit('message', 'hi!');
}, 1000);
game.js
var socket = io();
socket.on('message', function(data) {
console.log(data);
});
game.html
<html>
<head>
<title>A Multiplayer Game</title>
<style>
canvas {
width: 800px;
height: 600px;
border: 5px solid black;
}
</style>
<script src="/socket.io/socket.io.js"></script>
</head>
<body>
<canvas id="canvas"></canvas>
</body>
<script type = "text/javascript" src="game.js"></script>
</html>
错误消息如下所示:
我应该怎么做才能修复这些错误?
编辑: 当我将 game.js 的 src 路径更改为
时,这些错误仍然存在<script type = "text/javascript" src="/game/game.js"></script>
【问题讨论】:
标签: javascript html node.js express socket.io