前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >什么?Node.js 可以运行在浏览器里面了!

什么?Node.js 可以运行在浏览器里面了!

作者头像
用户3806669
发布于 2021-07-06 06:22:33
发布于 2021-07-06 06:22:33
2.5K0
举报
文章被收录于专栏:前端三元同学前端三元同学
一切要从收到一封邮件开始

大早上,我收到一封邮件,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-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端三元同学 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​推荐一个神器!可以在浏览器运行 Node.js
在最新的 Google I/O 主题演讲中 stackblitz 向大家介绍了他们与 Next.js 和 Google 团队合作开发的在线 IDE WebContainers ,真的是非常惊艳。
小丑同学
2021/07/01
1.6K0
​推荐一个神器!可以在浏览器运行 Node.js
用网络构建网络?WebContainer是个啥?
今天来介绍一个 StackBlitz 与 Next.js 和 Google 团队合作的新技术。
薛定喵君
2021/06/10
3.3K0
Bolt․new:AI 帮你自动写代码 自动运行并自动部署 而且全部在浏览器中完成
Bolt․new:AI 帮你自动写代码 自动运行并自动部署 而且全部在浏览器中完成
AI uTools
2024/10/29
3230
Bolt․new:AI 帮你自动写代码 自动运行并自动部署 而且全部在浏览器中完成
可以浏览器页面运行 node 代码里了!webContainer 发布 1.0
2021年5月12日, stackblitz 团队在 谷歌 I/O 上提到了一下的内容:
CandyTong
2023/02/24
1.2K0
可以浏览器页面运行 node 代码里了!webContainer 发布 1.0
可以浏览器页面运行 node 代码里了!webContainer 发布 1.0
2021年5月12日, stackblitz 团队在 谷歌 I/O 上提到了一下的内容:
CandyTong
2023/02/18
8970
在浏览器中,把 Vite 跑起来了!
大家好,我是 ssh,前几天在推上冲浪的时候,看到 Francois Valdy 宣布他制作了 browser-vite,成功把 Vite 成功在浏览器中运行起来了。这引起了我的兴趣,如何把重度依赖 node 的一个 Vite 跑在浏览器上?接下来,就和我一起探索揭秘吧。
ssh_晨曦时梦见兮
2022/03/07
1.4K0
【保姆级】前端使用node.js基础教程
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,常用于服务器端编程。以下是一些 Node.js 中常用的命令:
肥晨
2024/03/22
2080
关于 Node.js 调试,你需要了解的一切
Node.js 是一种颇具人气的 JavaScript 运行时,与谷歌 Chrome 浏览器一样采用同款 V8 引擎。
深度学习与Python
2023/09/08
4830
关于 Node.js 调试,你需要了解的一切
方便快捷的调试 Node.js 程序
在调试程序时总是会遇到各种挑战。Node.js 的异步工作流为这一艰巨的过程增加了额外的复杂性。尽管 V8 引擎为了方便访问异步栈跟踪进行了一些更新,但是在很多数情况下,我们只会在程序主线程上遇到错误,这使得调试有些困难。同样,当我们的 Node.js 程序崩溃时,通常需要依靠一些复杂的 CLI 工具来分析核心转储[1]。
疯狂的技术宅
2020/08/19
1.6K0
Node.js 项目调试指南
Node.js 是一种流行的 JavaScript 运行时,与谷歌 Chrome 浏览器使用相同的 V8 引擎。它是跨平台的,在创建 Web 服务器、构建工具、命令行工具等方面越来越受欢迎。
ConardLi
2023/08/23
7700
Node.js 项目调试指南
【Node.js】如何调试你的 Node.js 代码?
很多时候,我苦恼于 Node.js 的调试,只会使用 console.log 这种带有侵入性的方法,但是其实 Node.js 也可以做到跟浏览器调试一样的方便。
GopalFeng
2022/08/01
8.4K0
【Node.js】如何调试你的 Node.js 代码?
神器推荐:在浏览器分析 npm 包
今天跟大家推荐一个神器 pkg-size.dev,可以直接在浏览器对 npm 包进行分析(包括占用大小、打包大小、间接依赖项等等)。它的目标是让像我们可以更轻松地探索 npm 生态系统。 对于包的使用者,pkg-size 可以帮助你:
ConardLi
2023/08/23
8270
神器推荐:在浏览器分析 npm 包
Node.js命令介绍
Node.js是一个基于Chrome的V8引擎的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码。Node.js的强大之处在于其非阻塞I/O模型和事件驱动架构,使其轻量级且高效,尤其适用于数据密集型实时应用。在Node.js中,我们可以通过命令行工具来执行各种操作,下面我将介绍一些常用的Node.js命令。
china马斯克
2024/07/27
1200
面向未来的前端开发模式 - 写于2021年
在之前,给大家介绍过webcontainer这个技术,就是可以让Node.js运行在浏览器中的技术
Peter谭金杰
2022/03/22
8940
面向未来的前端开发模式 - 写于2021年
手摸手打造类码上掘金在线IDE(一)
最近几个月一直在跟在线IDE打交道,当然,高端一点咱也可以叫他低代码平台,毕竟这个词是流量密码,因为听着高端,看着大气,闻着。。。额,没味
用户7413032
2022/10/05
6970
手摸手打造类码上掘金在线IDE(一)
下一代浏览器和移动自动化测试框架:WebdriverIO
今天给大家推荐一款基于Node.js编写且号称下一代浏览器和移动自动化测试框架:WebdriverIO
测试开发技术
2024/08/09
3080
下一代浏览器和移动自动化测试框架:WebdriverIO
Node.js的下一代浏览器和移动自动化测试框架-WebdriverIO
web自动化测试工具Selenium支持多种语言,如Python、Java、Ruby、JavaScript等,大多数测试人员使用最多的语言就是Python、Java了,并且很多技术社区与网上的学习资料查找起来很方便,很容易上手。但对于其他语言,比如JavaScript,相对来说资源就少很多了,针对JavaScript本篇将介绍一款在Node.js环境下的web与移动自动化测试框架 - WebdriverIO。
wangmcn
2024/07/18
2060
Node.js的下一代浏览器和移动自动化测试框架-WebdriverIO
Bolt.new 一句话建站,真的太疯狂了!开源 AI 全栈开发新体验!
兄弟们,给大家推荐一款最近爆火的开源编程工具!一款专供于网站开发的 Cursor,还包括环境配置运行,而且还有开源版本,它就是 Bolt.new。
Python兴趣圈
2024/10/10
2.1K0
Bolt.new 一句话建站,真的太疯狂了!开源 AI 全栈开发新体验!
初识Node.js
概述 相信对于专注javascript发展的同学来说,nodejs已经不是一个陌生的词眼。有关nodejs的相关资料网上已经铺天盖地。由于它的高并发特性,造就了其特殊的应用地位。 借用Node.js官网的定义:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm。 相信之前有了解React Native的都知道,RN依赖Node.js环境,还有Angular.j
xiangzhihong
2018/02/05
2.2K0
初识Node.js
Node.js 简介
Node.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!
ccf19881030
2020/06/29
2.2K0
推荐阅读
相关推荐
​推荐一个神器!可以在浏览器运行 Node.js
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文