Node JS提供HTML页面Express

时间:2017-06-08 09:00:46

标签: javascript html node.js express

我有一个多人游戏,其中服务器连接两个客户端以相互对战。它运作良好。但是,现在我想添加一个欢迎页面,用于添加用户名。我需要将此用户名发送到服务器。但是,问题是,当加载欢迎页面时,它会建立与服务器的连接(这很好)。但是,当我想使用

加载下一页时
location.href = "index.html"

它不起作用。实际上,它与服务器断开连接并且不重新连接。播放器点击按钮后如何加载多个文件?如何将这些文件保存在同一个“客户端”实例下? (没有断开连接)。谢谢。

2 个答案:

答案 0 :(得分:0)

由于你没有代码,让我试一试。要扩展@anderson所说的内容,请确保通过

之类的内容为您的应用提供静态文件
const staticCont = express.static(__dirname + "/public");

“public”的位置是所有静态文件的文件夹目录。这样,您的应用程序(在前端)中需要加载任何文件的任何链接都可供您使用。

接下来,假设已完成此操作,假设您的游戏位于单一页面上,请说“"mygame.html”,如果您想在此页面中加载其他html或其他内容而不会丢失/导航“ mygame.html“,然后在用户按钮按下,您将需要AJAX加载内容。

作为一个例子:

创建一个虚拟div,用于保存已加载的内容,让我们调用它

<div id="usrBioWrapper"></div>

然后说你的应用程序上有一个提取用户生物的按钮。 让我们调用这个按钮 <button id="usrBio">Get user bio</button>

并且您要加载的html名为usrBioPage.html,那么您需要以下内容:

$('#usrBio').on('click', function(){
    $('#usrBioWrapper').load(' usrBioPage.html ');
});

多数民众赞成。当用户单击该按钮时,它将在该div中加载您的内容。但请记住,您必须在app.js(后端节点端)中设置公共目录,否则它将无法正常工作。

希望这会有所帮助

答案 1 :(得分:-1)

您是否在Node js中公开了index.html文件,以确保您的浏览器可以访问该文件?