吃瓜小报 - 2023/5/27: unjs 系列开源仓库,deno deploy 支持 node 内置模块,supabase...

441 阅读2分钟

2023-5-27

仓库快读

本期仓库均来自 unjs 开源组织
该组织主要开发特定用途下的通用 javaScript 工具

nitro

nuxt3 框架底层的通用 web 服务器,主要有以下特性 👇

  • 🐱 可扩展的
  • 🚀 代码分割
  • 🤏 简约的设计
  • 💰 支持路由缓存
  • ✨ 支持自动导入
  • 💾 通用存储 api
  • 🐇 开发时实时的 hmr
  • 👕 TypeScript 支持
  • 📁 目录结构约定大于配置
  • 💼 支持紧凑打包,生成环境下不需要重新 npm install
  • 😌 内置 15 个以上的部署预设,可以轻松部署到 vercelnetlify 等服务商

h3

高性能,高移植性的极简 http 框架,主要被用在上述的 nitro 中,主要有以下特性 👇

  • ✔️ 原生支持 promise
  • ✔️ 超级小而且容易树摇
  • ✔️ 使用 unjs/radix3 进行超快路由匹配
  • ✔️ 附带一组可组合的实用程序,可以扩展
  • ✔️ 与 node/connect/express 中间件的兼容层
  • ✔️ 在 ServerlessWorkersNode.js 中都能完美运行

Tip - nuxt3,nitro 和 h3 的关系 👉 h3 -> nitro -> nuxt3


ofetch

更好的 fetch API,可以跑在 node,浏览器和 workers

Tip - 因为老版本 node 并不支持 fetch,所以有了这个包,也被用在 nuxt3 的同构 fetch


consola

优雅漂亮的 console,可以跑在 node 和浏览器中,主要有以下特性

  • 🏷 支持标签
  • 👌 容易使用
  • 🌐 支持浏览器
  • 🔌 可插拔报告器
  • 👻 Mocking 支持
  • ⏯ 暂停/恢复支持
  • 👮‍♂️ 通过限制日志防止垃圾邮件
  • 💻 一致的命令行界面(CLI)体验
  • 💅 为最小环境提供具有回退功能的高级输出
  • 🚏 将 consolestdout/stderr 重定向到 consola 并轻松恢复重定向

Tip - 可以拿来美化终端输出 😋,nuxt3 终端输出信息时也大多用的这个


unplugin

一个插件系统,允许你的插件跑在 ViteRollupWebpackesbuild

Tip - 我们熟知的 unplugin-auto-importunplugin-vue-components 都由此构建


unstorage

驱动式的通用存储工具,主要有以下特性

  • 异步API
  • 存储监视器
  • 默认内存存储
  • 状态快照和水合
  • 核心小,可树摇下
  • 大量内置驱动程序
  • 二进制和原始值支持
  • 内置服务器的HTTP存储
  • 自动JSON值序列化和反序列化
  • Unix式驱动器安装到联合收割机存储器
  • 适用于所有环境:浏览器、NodeJS和Workers

Tip - 可以拿来做缓存和简单存储需求



文章小报

node-builtins-on-deploy

Deno Deploy 现在支持导入 Node.js 内置模块,如 http, fspath

换句话说,我们可以在边缘服务 Deno Deploy 上运行现有的 Node.js 应用程序。

Tip - 本小报也部署在边缘服务 Deno Deploy 上,速度很快 🥰


building-chatgpt-plugins-template

使用 Supabase Edge Runtime 构建 ChatGPT 插件