gpt4 book ai didi

javascript - NodeJS 语法错误 : expected expression, 得到 '<'

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:26 24 4
gpt4 key购买 nike

我正在使用 NodeJS 和 Socket.io。这是我的index.js

    var app = require('http').createServer(handler);
var io = require('socket.io').listen(app);
var fs = require('fs');

app.listen(3000);
console.log("Listening on port 3000");

function handler(req, res) {
fs.readFile(__dirname + '/index.html', function( err, data ) {
if( err ) {
res.writeHead( 500 );
return res.end('Error loading index.html');
}

res.writeHead( 200 );
res.end( data );
});
}

这是我的index.html

<!DOCTYPE html>
<html>
<head>
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<title>Impact Game</title>
<style type="text/css">
html,body {
background-color: #333;
color: #fff;
font-family: helvetica, arial, sans-serif;
margin: 0;
padding: 0;
font-size: 12pt;
}

#canvas {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}
</style>

<script src="lib/impact/impact.js"></script>
<script src="lib/game/main.js"></script>
</head>
<body>
<canvas id="canvas"></canvas>
</body>
</html>

当我访问 localhost:3000 时,我得到“SyntaxError:预期表达式,得到 '<' main.js:1:0”。

我尝试遵循的教程是使用 ImpactJS + NodeJS + Socket.IO 来制作多人游戏,但这是迄今为止我所了解的最远的。

这是main.js的内容

ig.module(
'game.main'
)
.requires(
'impact.game',
'impact.font'
)
.defines(function(){

MyGame = ig.Game.extend({

// Load a font
font: new ig.Font( 'media/04b03.font.png' ),


init: function() {
// Initialize your game here; bind keys etc.
},

update: function() {
// Update all entities and backgroundMaps
this.parent();

// Add your own, additional update code here
},

draw: function() {
// Draw all entities and backgroundMaps
this.parent();


// Add your own drawing code here
var x = ig.system.width/2,
y = ig.system.height/2;

this.font.draw( 'It Works!', x, y, ig.Font.ALIGN.CENTER );
}
});


// Start the Game with 60fps, a resolution of 320x240, scaled
// up by a factor of 2
ig.main( '#canvas', MyGame, 60, 320, 240, 2 );

});

最佳答案

看看这个:

function handler(req, res) {
fs.readFile(__dirname + '/index.html', function( err, data ) {

无论浏览器要求什么,您都需要提供index.html的内容

因此,当浏览器请求 lib/impact/impact.jslib/impact/main.js 时……您可以为其提供 index.html 的内容。

您需要注意正在发生的事情requested (req.url) 并返回正确的内容。

关于javascript - NodeJS 语法错误 : expected expression, 得到 '<',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35872771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com