前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在浏览器中本地运行Node.js

在浏览器中本地运行Node.js

作者头像
Peter谭金杰
发布2022-03-22 14:41:25
3.7K0
发布2022-03-22 14:41:25
举报
文章被收录于专栏:跨平台全栈俱乐部
一切要从收到一封邮件开始

大早上,我收到一封邮件,StackBlitz说正在与Next.js和Google的团队合作开发一项新技术

  • 几年前,StackBlitz意识到网络正朝着关键的拐点发展。WebAssembly和新功能API的出现使编写基于WebAssembly的操作系统似乎变得可能,该操作系统功能强大到可以完全在浏览器中运行Node.js。我们设想了一个比本地环境更快,更安全和一致的高级开发环境,以实现无缝的代码协作而无需设置本地环境
技术名为:WebContainers
  • WebContainers允许您创建完整的Node.js环境,这些环境可以在毫秒内启动,并且一键即可立即联机和链接共享。该环境具有VS Code强大的编辑经验,完整的终端,npm等功能。它还可以完全在您的浏览器中运行,从而带来一些关键的好处:
  • 比本地环境快。与yarn / npm相比,构建速度最多可提高20%,而卷装安装速度则可快5倍以上。
  • 浏览器中的Node.js调试。与Chrome DevTools的无缝集成可实现本机后端调试,无需安装或扩展。
  • 默认为安全。所有代码执行都发生在浏览器的安全沙箱中,而不是在远程VM或本地二进制文件上。
  • 同样,这些环境不在远程服务器上运行。而是,每个环境都完全包含在您的Web浏览器中。没错:Node.js运行时本身第一次在浏览器中本机运行。 从现在开始,WebContainers现在处于公开测试阶段。当前支持包括Next.js,GraphQL和Vanilla Node.js,我们正在与其他开源项目合作以扩展支持
为什么会有WebContainers
安全
  • StackBlitz通过利用浏览器中数十年来的速度和安全性创新来解决这些问题。StackBlitz中的所有计算都会在浏览器安全沙箱中立即发生,并且无法爆发到您的本地计算机上。该模型还释放了一些关键的开发和调试优势(在几秒钟内便会提供更多优势)。
释放浏览器的功能
  • 使用Chrome DevTools无缝进行Node.js调试
    • 事实证明,浏览器确实非常擅长调试Javascript。我知道,这令人震惊;)通过在浏览器中执行Node.js,与Chrome DevTools的集成即开即用。无需安装,无需扩展,仅在浏览器中进行本机后端调试即可
运行服务器,在你的浏览器中
  • 实际上。WebContainers包含一个虚拟的TCP网络堆栈,该网络堆栈已映射到浏览器的ServiceWorker API,使您可以即时创建实时Node.js服务器,即使您处于脱机状态也可以继续工作。因为它完全在浏览器安全沙箱中运行,所以服务器响应的延迟比本地主机(!)少,并且可以保护您的Web服务器免受本地主机抓取攻击
  • 毫秒级启动时间
  • 每个页面加载时都有一个全新的环境
    • 再见rm -rf node_modules!WebContainer的内置npm客户端是如此之快,以至于它在每次页面加载时都运行全新的安装,从而确保您每次都能获得一个干净的环境。如果您的环境确实出现问题,则可以像处理其他任何Web应用程序一样恢复到干净的状态:单击“刷新”按钮
  • 借助StackBlitz,无论您是在火车上,在飞机上还是在雨中后座时,都可以在没有互联网连接的情况下继续工作

使用StackBlitz新颖的计算模型,100%的代码执行发生在浏览器安全沙箱中。与本地相比,这导致了更快,更少限制的开发环境,同时又提供了更高的安全性,这是非常罕见的组合。

  • 实际上,默认的安全状况是如此稳固,以至于我们的嵌入式软件包管理器是第一个可公开获得的工具,可以解决五年多来未解决的Sam Saccone长期未解决的npm漏洞
  • 同样,这些环境不在远程服务器上运行。而是,每个环境都完全包含在您的Web浏览器中。没错:Node.js运行时本身第一次在浏览器中本机运行 写在最后
  • WebAssembly强大到足以编写操作系统,但是这次WebContainers把这个技术使用方向放在了Node.js上,我觉得是有划时代意义的
  • 在我看来,这个技术在未来最主要应用方向是,可以使世界范围内的软件在以前无法运行的地方运行,以后电脑上可能只需要安装一个谷歌浏览器
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一切要从收到一封邮件开始
  • 技术名为:WebContainers
  • 为什么会有WebContainers
    • 安全
      • 释放浏览器的功能
        • 运行服务器,在你的浏览器中
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档