每日一博 | 在浏览器中,把 Vite 跑起来了!
首发于公众号前端从进阶到入院,欢迎关注。 大家好,我是 ssh,前几天在推上冲浪的时候,看到 Francois Valdy 宣布他制作了 browser-vite,成功把 Vite 成功在浏览器中运行起来了。这引起了我的兴趣,如何把重度依赖 node 的一个 Vite 跑在浏览器上?接下来,就和我一起探索揭秘吧。 简而言之的原理 Service Worker:用来取代 Vite 的 HTTP 服务器。 Web Worker:运行 browser-vite 来处理主线程。 文件系统被一个 in-memory 的模拟文件系统替代。 转换特殊扩展名 (.ts, .tsx, .scss…) 的导入。 遇到的挑战 没有真正的文件系统 Vite 用文件系统完成了很多工作。读取项目的文件、监听文件改变、globs 的处理等等……在浏览器的模拟实现的内存文件系统中,这些就很难实现了,所以 browser-vite 删除了监听、globs 和配置文件来把复杂性降低。 项目文件被保存在内存文件系统中,所以 broswer-vite 和 vite plugins 可以正常处理它们。 没有 “node_mod...
