我正在尝试创建一个网络应用程序,让服务器按时间间隔更新浏览器页面上的 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/