javascript - 使用 socket.io 时如何发送文件(html、js、css 和资源)?

标签 javascript node.js html express socket.io

我正在尝试创建一个网络应用程序,让服务器按时间间隔更新浏览器页面上的 html Material - 一个 html 幻灯片。

我的文件结构如下:

项目:

- Node 模块
- 应用程序.js
- index.html - package.json
- 幻灯片
-- slide_0
-- 页面.html
--- 图片
---- 一些 .jpg 文件
--- JS
---- 脚本.js
--- 样式
---- 样式.css
-- slide_X ... 等

我现在可以使用 fs.readFile(__dirname + "slides/slide_0/page.html") 向客户端发送字符串表示形式。并在回调中保存字符串并在 socket.on('connection') 发出.

目标是拥有一个 div在 index.html/client 中,我可以在其中附加 page.html 中的所有代码(即 page.html 不需要完全格式化,<p> Hello World </p> 就足够了)。另外,我希望 page.html 能够拥有自己的 .js , .css和资源(如上面的文件结构所示)。

可以在 html 中导入(link src="..."script src="..."),我可以将它附加到 div,它只是一个字符串。但是,我不知道如何使用 Assets 文件( .js.css.jpg s)。

我正在使用 Express,但我不太擅长它,就像 socket.io 一样。

  • 那么,我怎样才能将必要的文件发送给客户呢?
  • 我用什么方式发送 html+文件?
  • 其他结构会更好吗?例如完全格式化的 HTML。

谢谢!

最佳答案

我找到了答案和一个大错误,这使得它很难工作。

因此,我可以使用 jquery .empty() div,然后将读取的 html 文件附加为字符串表示形式。调试时,我发现浏览器尝试执行的 GET 不正确,这就是整个错误。

目前我有一个接受所有 GET 的快速获取处理。但是,在 page.html 中,我使用了与其文件结构相关的 src 和 refs - 这必须进行修改,以便它从 node-server-base 开始,而不是 html-file-structure-base。

因此,使用 socket.io 发送代码(字符串格式)并将其附加到现有 HTML 中是没有问题的。只需确保服务器允许访问源文件并且 url 正确!

关于javascript - 使用 socket.io 时如何发送文件(html、js、css 和资源)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29011598/

相关文章:

css - 图片标签/元素显示问题

javascript - 使用按钮单击 JavaScript 显示/隐藏带有子 div 的 div

javascript - 为什么此按钮元素与 div 具有不同的 'click' 行为?

javascript - "If"语句类似于 "While"循环

javascript - 我可以在文件 A 中创建一个 POJO,并在文件 B 中使用它来创建新对象吗?

javascript - 使用变化的变量调用本地存储

css - 如何设置较小DIV的垂直滚动条与较大DIV的右侧对齐?

javascript - 流体圆形元素旁边的圆形元素

javascript - 如何通过与模型比较将特定缺失的字段添加到 json 对象

proxy - Node.js - 具有 WebSocket 代理和 SSL 支持的良好 WebServer?