当前位置: 首页 > Web前端 > HTML

StackBlitz的web容器是什么

时间:2023-03-29 12:16:12 HTML

如下图,我们可以使用StackBlitz在浏览器中开发Node.js应用:这一切都归功于所谓的WebContainer,如下图BootingWebContainerandInstalling依赖信息:几年前,我们可以感觉到Web开发正在接近一个关键的拐点。随着WebAssembly和新功能API的出现,似乎有可能编写一个基于WebAssembly的操作系统,其功能强大到足以在浏览器中完全运行Node.js。提供一个比本地环境更快、更安全、更一致的优越开发环境来实现无缝代码协作而无需设置本地环境的目标似乎越来越接近Web开发人员。实现这一目标的关键之一是Web容器。传统的在线IDE在远程服务器上运行您的整个开发环境,并通过Internet将结果流式传输回您的浏览器。这种方法的问题是它几乎没有提供安全优势,并且几乎在所有方面都比本地机器提供更差的体验:启动容器需要几分钟,容易出现网络延迟,不能离线工作,经常导致网络超时,调试冻结/损坏的容器几乎是不可能的,点击刷新只会重新连接到损坏的容器。StackBlitz的WebContainers允许您创建全栈Node.js环境,这些环境可在几毫秒内启动并立即在线,只需单击一下即可通过链接共享。该环境加载了VSCode强大的编辑体验、完整的终端、npm等。它还完全在浏览器中运行,从而产生以下主要优势:比本地环境更快。构建完成速度比yarn/npm快20%,包安装完成速度>=5倍。可以在浏览器中调试Node.js应用程序。与ChromeDevTools无缝集成,无需安装或扩展即可进行本地后端调试。默认安全级别。所有代码执行都发生在浏览器的安全沙箱内,而不是在远程虚拟机或本地二进制文件上。同样,这些环境不在远程服务器上运行。相反,这些运行时完全包含在Web浏览器中。Node.js运行时本身第一次在浏览器中本地运行。更多Jerry原创文章在这里:《王子熙》: