如何从虚拟内存中提供node.js中的html + js?

问题描述 投票:0回答:1

Context

我正在制作一个浏览器内的html / js编辑器,为此我使用带有Webpack和webpack-html-plugin的memory-fs(虚拟内存)来捆绑用户在编辑器中创建的文件。这些文件被写入虚拟内存以避免I / O操作,只要任何用户在浏览器内编辑器中编译程序就会发生这种情况。

Problem

使用node.js,如何提供生成的html + js-bundle?

我知道我可以使用

express.get('/:id', (req,res) =>...)

制作动态路线,我可以映射到正确的输出。我也知道我可以用

res.send(html-string-from-virtual-memory)

将html作为字符串提供。但是,我不知道这是否也会提供捆绑的javascript,它将包含在带有脚本标记的html文件中,如下所示:

<script type="text/javascript" src="index_bundle.js?a9d6aa105c772d02e0f9"></script>

浏览器到达此部分会发生什么?它是否会提出另一个请求,我必须在服务器端处理另一个.get()?它应该是什么样的?我不知道。

Node.js用于从磁盘的/public路径提供静态文件以便轻松处理它,所以我很挣扎,因为它不允许我手动处理文件检索(它只是要求路径并处理文件本身)以便从虚拟内存中获取文件。

javascript html node.js express
1个回答
1
投票

是的,当浏览器看到<script>标记时,它将对JavaScript文件发出新请求。在Node中,您可以创建一个新的express.get()侦听器并像发送HTML一样发送JavaScript。

res.send(javascript-string-from-virtual-memory)
© www.soinside.com 2019 - 2024. All rights reserved.