gpt4 book ai didi

javascript - 使用带有 NowJS 的 Node 服务器发送 javascript 文件

转载 作者:行者123 更新时间:2023-11-30 06:00:55 25 4
gpt4 key购买 nike

对于任何有 Node 经验的人来说,这个问题应该很容易回答——不幸的是,我是一个极端的新手。

我正在为棋盘游戏编写一个 Web 应用程序,该应用程序将使用服务器-客户端架构向所有客户端显示对棋盘所做的实时更改。该应用程序使用 Raphael 来显示图形。

我已经创建了一个成功发送 HTML 文件以响应任何请求的服务器,但是看板没有显示——只有没有任何 Javascript 的原始 HTML 出现。我认为这是因为我已将服务器编程为始终响应 HTML 文件,但我不知道如何将 Javascript 文件(client.js、raphael.js)发送到客户端,以便页面可以正确加载.

相关代码如下。现在,我只是想让浏览器绘制一个 Raphael 元素,这样我就可以看到客户端正在正确获取加载页面所需的 Javascript 文件。

在服务器端:

var fs = require('fs');
var server = require('http').createServer(function(req, response){
fs.readFile('index.html', function(err, data) {
response.writeHead(200, {'Content-Type':'text/html'});
response.write(data);
response.end();
});
});

在客户端:

$(document).ready(function(){
var R = Raphael("container", 1000, 700);
this.R.path("M0,0l1000,700").attr({"stroke-width": "5"});
});

您可以假定 HTML 文件的格式正确并且包含对所有 JS 文件的引用——我已经让应用程序在没有服务器-客户端架构的情况下运行良好已有一段时间了。此外,我正在使用 NowJS,因此也欢迎任何包含该框架的解决方案。

感谢您的帮助!

最佳答案

在你的服务器端,你总是返回 index.html

查看此要点中如何使用 createServer 方法:https://gist.github.com/1245922

它评估扩展以返回正确的 mime 类型,然后调用流文件函数以从 fs 返回请求的 url/文件。

如果你打算将它与 nowjs 一起使用,那么你还需要按照以下方式使用:

    var everyone = nowjs.initialize(server);

关于javascript - 使用带有 NowJS 的 Node 服务器发送 javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8624113/

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