【发布时间】:2020-08-15 06:53:15
【问题描述】:
我正在使用命令行中的 heroku 将使用 socket.io 和 node.js 的 HTML5 项目导出到网络。命令git push heroku master 运行成功,游戏在本地主机上运行。但是,在使用heroku open 时,即使与heroku ps:scale web=1 结合使用,项目javascript 似乎也无法连接到服务器。具体来说,html 和 css 工作,初始服务器消息显示在控制台中,但客户端似乎从未使用 sockets.io 向服务器发送任何信息。
我相信我需要更改 server.js 的初始行,但不确定如何更改。这些行发布在下面:
// Dependencies
var express = require('express');
var http = require('http');
var path = require('path');
var socketIO = require('socket.io');
var app = express();
var server = http.Server(app);
var io = socketIO(server);
//App Setup
enter code here`app.set('port',5000);
enter code here`app.use('/static',express.static(__dirname + '/static'));
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname + '/index.html'));
}); //USED TO BE THERE
//Start the Server
/*
server.listen(5000,function() {
console.log("Starting on localhost:50000");
});
*/
let port = process.env.PORT;
if (port == null || port == "") {
port = 8082;
}
server.listen(port, function () {
console.log(`(1)Listening on ${server.address().port}`);
});
客户端的 javascript 位于与 server.js 相同的目录中的 static/Game.js 中。 另外,这里是项目的github仓库:https://github.com/abinav-baskar/ColourGame
为简单的问题道歉。如果我应该提供更多信息,或者研究,我应该自己做的故障排除,我会做的。谢谢,
【问题讨论】:
-
目前是否在线,如果可以,如果您能将链接发送给我们,那就太好了
-
我会尽量让link 在接下来的 24 小时或更长时间内保持打开状态
-
我发现了这个问题,你在你的 repo 上将你的 game.js 文件命名为
Game.js,但是,你在你的应用程序中将它命名为game.js,只需将其更改为Game.js,它应该工作 -
@Ameer 你完全正确!将 index.html 中的
标签: javascript node.js heroku websocket socket.io