前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >​推荐一个神器!可以在浏览器运行 Node.js

​推荐一个神器!可以在浏览器运行 Node.js

作者头像
winty
发布于 2021-07-01 10:25:20
发布于 2021-07-01 10:25:20
5.9K0
举报
文章被收录于专栏:前端Q前端Q

在最新的 Google I/O 主题演讲中 stackblitz 向大家介绍了他们与 Next.jsGoogle 团队合作开发的在线 IDE WebContainers ,真的是非常惊艳。

几年前,我们意识到网络正朝着一个关键的拐点发展。WebAssembly 的出现让我们可以有能力编写基于 WebAssembly 的操作系统,这个操作系统的功能强大到可以完全在浏览器中运行 Node.js。我们设计了一个比本地环境更快,更安全和一致的高级开发环境,可以实现无缝代码协作,而不需要设置本地环境。

两年后的今天,他终于诞生了!

WebContainers

WebContainers 允许你创建一个完整的 Node.js环境,它可以在毫秒内启动,并且可以实现一键联机和链接共享。这个环境具有 VS Code 强大的编辑功能,完整的终端,还有 npm 等功能。它也完全在你的浏览器中运行,这带来了一些关键的好处:

  • 比本地环境快。构建速度比 yarn/npm20%,包安装速度可以快 5倍。
  • 支持在浏览器中调试 Node.js 。与 Chrome DevTools 的无缝集成可实现本机后端调试,无需安装扩展。
  • 默认安全。所有代码执行都发生在浏览器的安全沙箱中,而不是在远程 VM 或本地二进制文件上。

同样,这些环境不需要在远程服务器上运行。而是每个环境都完全包含在你的 Web 浏览器中。没错:Node.js 运行时本身是第一次在浏览器内部本机运行。

你可以在 StackBlitz.com 上自己尝试一下:

为什么

旧版在线 IDE 在远程服务器上运行整个开发环境,并将结果通过 Internet 流回浏览器。这种方法的问题在于它太不安全了,而且几乎在所有方面都比你的本地计算机体验更差:首先需要耗时几分钟来启动容器,并且容易出现网络延迟,没有办法离线工作,经常导致网络超时,调试一个已经挂掉的容器几乎是不可能的。

随着 Web 开发慢慢转向像 Next.js 这样的全栈 SSRSSG,设置本地的开发环境变得越来越麻烦,StackBlitz 通过利用浏览器中数十年来的速度和安全性创新来解决这些问题。StackBlitz 中的所有的计算都会在浏览器安全沙箱中运行,不会在你的本地计算机上运行,这会让你的开发过程更快更安全。

使用 Chrome DevTools 调试 Node.js

事实证明,浏览器确实非常擅长调试 Javascript。通过在浏览器中执行 Node.js,与 Chrome DevTools 的集成即开即用。无需安装,无需扩展,仅在浏览器就能进行本机后端调试:

在浏览器中启动服务端

WebContainers 包含一个虚拟的 TCP 网络堆栈,这个堆栈会映射到浏览器的ServiceWorker API,使你能够创建实时的 Node.js 服务器,即使你处于脱机状态也可以继续工作。因为它完全在浏览器安全沙箱中运行,所以服务器响应的延迟比 localhost 还小,并且可以保护你的 Web 服务器免受本地主机抓包攻击:

毫秒启动

浏览器执行 JavascriptWebAssembly 的速度快得令人难以置信。我们利用这一点来创建一个即时开发操作系统,它不使用服务器资源,也不会在你的计算机上创建 node_modules ...

零延迟、脱机运行

无论你是在火车上,在飞机上还是在雨天后排座位上,都可以在没有互联网连接的情况下继续工作:

默认安全

使用 StackBlitz 先进的计算模型,所有代码执行都发生在浏览器安全沙箱中。与本地相比,这会更快,更少限制的开发环境,同时又提供了更高的安全性。

实际上,默认的安全状况非常稳固,以至于我们的嵌入式软件包管理器是第一个可公开获得的工具,可以解决五年多来未解决的 npm 漏洞。

和桌面程序一样的编辑体验

借助 ChromePWA 功能,只需单击即可轻松安装 StackBlitz 。几毫秒后,你就有了一个桌面 IDE。你平时用的快捷键,例如 CMD + W和CMD + T,都可以正常工作。此外,就像在本地一样,你也可以在一个完全独立的窗口中打开和调试开发服务器。

从本地文件系统读取和写入。

Chrome 最近发布了 File System Access API。这使 PWA能够请求对本地文件系统的某些部分进行持久的读写访问。

你能分清楚上面哪个是 StackBlitz 哪个是 VS Code 吗?

我体验了一波后,感觉还是非常 Nice 了的,目前产品还处于公测阶段,大家感兴趣可以自己到 StackBlitz.com 自己体验一下。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端Q 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
什么?Node.js 可以运行在浏览器里面了!
一切要从收到一封邮件开始 大早上,我收到一封邮件,StackBlitz说正在与Next.js和Google的团队合作开发一项新技术 几年前,StackBlitz意识到网络正朝着关键的拐点发展。WebA
用户3806669
2021/07/06
2.6K0
什么?Node.js 可以运行在浏览器里面了!
用网络构建网络?WebContainer是个啥?
今天来介绍一个 StackBlitz 与 Next.js 和 Google 团队合作的新技术。
薛定喵君
2021/06/10
3.4K0
Bolt․new:AI 帮你自动写代码 自动运行并自动部署 而且全部在浏览器中完成
Bolt․new:AI 帮你自动写代码 自动运行并自动部署 而且全部在浏览器中完成
AI uTools
2024/10/29
4500
Bolt․new:AI 帮你自动写代码 自动运行并自动部署 而且全部在浏览器中完成
可以浏览器页面运行 node 代码里了!webContainer 发布 1.0
2021年5月12日, stackblitz 团队在 谷歌 I/O 上提到了一下的内容:
CandyTong
2023/02/24
1.3K0
可以浏览器页面运行 node 代码里了!webContainer 发布 1.0
可以浏览器页面运行 node 代码里了!webContainer 发布 1.0
2021年5月12日, stackblitz 团队在 谷歌 I/O 上提到了一下的内容:
CandyTong
2023/02/18
9550
【Node.js】如何调试你的 Node.js 代码?
很多时候,我苦恼于 Node.js 的调试,只会使用 console.log 这种带有侵入性的方法,但是其实 Node.js 也可以做到跟浏览器调试一样的方便。
GopalFeng
2022/08/01
8.5K0
【Node.js】如何调试你的 Node.js 代码?
方便快捷的调试 Node.js 程序
在调试程序时总是会遇到各种挑战。Node.js 的异步工作流为这一艰巨的过程增加了额外的复杂性。尽管 V8 引擎为了方便访问异步栈跟踪进行了一些更新,但是在很多数情况下,我们只会在程序主线程上遇到错误,这使得调试有些困难。同样,当我们的 Node.js 程序崩溃时,通常需要依靠一些复杂的 CLI 工具来分析核心转储[1]。
疯狂的技术宅
2020/08/19
1.7K0
在浏览器中,把 Vite 跑起来了!
大家好,我是 ssh,前几天在推上冲浪的时候,看到 Francois Valdy 宣布他制作了 browser-vite,成功把 Vite 成功在浏览器中运行起来了。这引起了我的兴趣,如何把重度依赖 node 的一个 Vite 跑在浏览器上?接下来,就和我一起探索揭秘吧。
ssh_晨曦时梦见兮
2022/03/07
1.4K0
神器推荐:在浏览器分析 npm 包
今天跟大家推荐一个神器 pkg-size.dev,可以直接在浏览器对 npm 包进行分析(包括占用大小、打包大小、间接依赖项等等)。它的目标是让像我们可以更轻松地探索 npm 生态系统。 对于包的使用者,pkg-size 可以帮助你:
ConardLi
2023/08/23
8910
神器推荐:在浏览器分析 npm 包
面向未来的前端开发模式 - 写于2021年
在之前,给大家介绍过webcontainer这个技术,就是可以让Node.js运行在浏览器中的技术
Peter谭金杰
2022/03/22
9160
面向未来的前端开发模式 - 写于2021年
手摸手打造类码上掘金在线IDE(一)
最近几个月一直在跟在线IDE打交道,当然,高端一点咱也可以叫他低代码平台,毕竟这个词是流量密码,因为听着高端,看着大气,闻着。。。额,没味
用户7413032
2022/10/05
7250
手摸手打造类码上掘金在线IDE(一)
关于 Node.js 调试,你需要了解的一切
Node.js 是一种颇具人气的 JavaScript 运行时,与谷歌 Chrome 浏览器一样采用同款 V8 引擎。
深度学习与Python
2023/09/08
6350
关于 Node.js 调试,你需要了解的一切
Node.js初识
之前写前后端分离的服务器的时候接触过一点点Node.js,查了点资料。这里就把学到的一些东西记录下来(
SimpleAstronaut
2022/08/09
3.1K0
Bolt.new 一句话建站,真的太疯狂了!开源 AI 全栈开发新体验!
兄弟们,给大家推荐一款最近爆火的开源编程工具!一款专供于网站开发的 Cursor,还包括环境配置运行,而且还有开源版本,它就是 Bolt.new。
Python兴趣圈
2024/10/10
2.3K0
Bolt.new 一句话建站,真的太疯狂了!开源 AI 全栈开发新体验!
Node.js 项目调试指南
Node.js 是一种流行的 JavaScript 运行时,与谷歌 Chrome 浏览器使用相同的 V8 引擎。它是跨平台的,在创建 Web 服务器、构建工具、命令行工具等方面越来越受欢迎。
ConardLi
2023/08/23
1K0
Node.js 项目调试指南
Github 4 万 Star!最全面的 Node.js 资源汇总推荐
【导读】:Node.js 是一个开源、跨平台的,用于编写服务器和命令行的 JavaScript 运行时工具。
五月君
2021/01/13
3.8K0
在 Docker 中配置 Headless Chrome Node.js 服务器
随着开发过程中自动 UI 测试的兴起,无头浏览器已变得非常流行。网站爬虫和基于 HTML 的内容分析也有无数的用例。
疯狂的技术宅
2020/02/18
3.1K0
Node.js 调试大法 : v8_inspector
Gcaufy
2017/05/18
2.2K0
Node.js 调试大法 : v8_inspector
【保姆级】前端使用node.js基础教程
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,常用于服务器端编程。以下是一些 Node.js 中常用的命令:
肥晨
2024/03/22
2810
Node.js 简介
Node.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!
ccf19881030
2020/06/29
2.3K0
相关推荐
什么?Node.js 可以运行在浏览器里面了!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档