我正在制作一个浏览器内的html / js编辑器,为此我使用带有Webpack和webpack-html-plugin的memory-fs(虚拟内存)来捆绑用户在编辑器中创建的文件。这些文件被写入虚拟内存以避免I / O操作,只要任何用户在浏览器内编辑器中编译程序就会发生这种情况。
使用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
路径提供静态文件以便轻松处理它,所以我很挣扎,因为它不允许我手动处理文件检索(它只是要求路径并处理文件本身)以便从虚拟内存中获取文件。
是的,当浏览器看到<script>
标记时,它将对JavaScript文件发出新请求。在Node中,您可以创建一个新的express.get()
侦听器并像发送HTML一样发送JavaScript。
res.send(javascript-string-from-virtual-memory)