【收藏】Deno 资源全图谱 (中文)

1,097 阅读18分钟

Awesome-deno-cn

✨ Repo : github.com/hylerrix/aw…

Deno 资源全图谱 · 专注中文版 Awesome

仓库目录可以使用 Github Chrome 插件来浏览。

为什么有这个项目?

Deno v1.0 于 2020 年 05 月 13 日正式发布 v1.0 版本,一个专注于中文技术圈的 Deno 资源列表呼之欲出。

以下资源 🌟 代表品质推荐(尚未正式开始标记),⚠️ 代表注意事项。由于资源分类的多样性考虑,部分章节内容可能会有所重复。

独特之处 🦖🦕

  • 长期提供更新,收集越来越多高质量的 Deno 资源,愿我们与 Deno 一起成长。
  • 随着 Deno 主版本进行版本归档更新。
  • 配套独家《Deno 钻研之术》电子书并随着本项目一起成长。
  • 配套独家《Deno 周刊》并随着本项目一起成长。
  • 及时跟进 @denolib/awesome-deno 仓库。
  • 使用 Pagic 来让此资源清单更好看 -> 如果将每个条目“JSON“化就更好了。
  • 将所有资源能用代码绘制出一副图(如思维导图)更好了。

还有如下很多事情可以做,期待你的贡献!

  • 为每条记录增加一个 150 字以内的简介,让用户能通过本仓库更直接地了解每个项目的核心功能,而不是只有短短的名字外链和十多个字的概要;
  • 添加更多资源;
  • 推荐适合 awesome 展示页的项目或提交相关 PR;
  • 推荐适合 awesome 资源导出为图的项目或提交相关 PR;
  • 通过大量资源一起梳理出更好的目录结构,绘制出与众不同的 Deno 资源图谱。

技术文档 🌟

基础设施

Deno 源

虽然 Deno 可以直接导入 URL 代表着一定程度的去中心化,但是有中心化仓库也真香。

  • deno.land/x:官方提供的第三方库注册表。
  • nest.land,基于区块链去中心化仓库。

DenoLand 核心库

第三方模块

更多内容可以看 Deno 官网上的第三方库列表。可以将你的存储库提交到 deno.land/x 中。

注:单纯的字典排序让人眼花缭乱,此章节待进行细致化的分类,欢迎贡献 PR!

Web 框架 - 后端

  • abc:一个不错的 Deno Web 框架。
  • alosaur:具有许多装饰器的 Deno Web 框架。
  • aqua:用于 Deno 的小又快的 Web 框架。
  • pogo:一个 Deno 服务端框架。
  • drash:零依赖性的 Deno HTTP 服务器的 REST 微框架。

Web 框架 - 前端

  • alephjs:Deno 下的 React 框架。

环境变量

自动化

  • autopilot:使用 Deno 进行跨平台的 Web 自动化。

模板引擎

测试

  • mock:提供实用测试工具来帮助模拟测试行为并监视测试函数的调用。
  • merlin:Deno 的测试和基准框架 🧙‍♂️。
  • superdeno:由超级代理驱动的库,用于测试 Deno HTTP 服务器。
  • rhum:用于 Deno 的轻量级测试框架。
  • unexpected:可扩展的 BDD 断言工具包。
  • expect:在 Deno 中编写 Jest 的助手。
  • deno-pretty-assert:一个 Deno 下的 assertEqual 库。

数据库

  • deno-mysql:MySQL 数据库驱动程序。
  • deno-redis:Redis Client for Deno 的实验性实现。
  • deno_mongo:MongoDB 数据库驱动程序。
  • postgres:PostgreSQL 数据库驱动程序。
  • denodb:适用于 Deno 的 MySQL、SQLite、MariaDB、PostgreSQL 和 MongoDB ORM。
  • dso:一个基于 MySQL 的简单 ORM 库。
  • deno-nessie:为 PostgreSQL、MySQL 和 SQLite 创建,迁移和回滚迁移。
  • cotton:数据库(暂时实现PostgreSQL、MySQL 和 SQLite)管理(迁移和ORM等)工具。

包管理

  • denox:类似于 package.json 脚本,但在 Deno 上具有权限支持。
  • make-deno-edition:自动使 package.json 项目(例如 npm 软件包和 node.js 模块)与 Deno 兼容。
  • dmm:轻量级 Deno 模块管理器
  • dpm:Deno 软件包管理器,为 Deno 安装全局命令,比如 Denoget。—— DVM。
  • dep:Deno 依赖性管理工具。
  • dvm:Deno 版本管理器:管理多个活动的 Deno 版本。
  • dvm:没有运行时相关性的 Deno 版本管理器。
  • dvm.cmd:Windows 版 Deno 版本管理器,作为单个批处理文件编写。
  • trex:像 npm 一样的 deno 软件包管理。
  • esm.sh:一个快速、全球性的ES 模块内容交付网络。
  • skypack: Load optimized npm packages with no install and no build tools.
  • jspm: jspm provides a module CDN allowing any package from npm to be directly loaded in the browser and other JS environments as a fully optimized native JavaScript module.

WebSocket

  • sockets - 用于 Deno 的 WebSocket 库。
  • deno-websocket - 🦕 一个简单的WebSocket库,例如 node.js 库的 ws。
  • deno-ws:一个 Websocket 服务器的实验性实现。
  • websocket_server:WebSocket 服务器库 🔌。

命令行

  • cac:用于构建命令行应用程序的简单但功能强大的框架。

应用级别

  • deno_notify:在所有平台上发送桌面通知。

数据类型处理

  • ms:轻松地将各种时间格式转换为毫秒。
  • @denolib/qs:具有嵌套支持的 querystring 解析器。
  • @denolib/camelcase:将破折号/点号/下划线/空格分隔的字符串转换为驼峰式;示例:foo-bar→fooBar。
  • @denolib/marked:Markdown -> HTML 转换器。

IDE 插件

  • vscode-deno:VS Code 扩展,使用 typescript-deno-plugin 对 Deno 提供支持。

JAM Stack/静态站点

  • pagic:用 Deno 构建从 markdown 生成静态 html 页面的简单方法。

从 Node 到 Deno

  • denoify:对于希望支持 Deno 但不想编写和维护端口的 NPM 模块作者。

尚未分类 - 社区

欢迎你的帮忙分类!

  • @denofn/http-libs:HTTP 模块和类型。
  • @denofn/jwt:auth0/jsonwebtoken 的端口。
  • @denofn/type-fest:基本 TypeScript 类型的集合(sindresorhus 端口/type-fest)。
  • deno-xml-parser:一个从 segmentio/xml-parser 移植的 Deno XML 解析器。
  • deno-yaml:一个使用 Deno 的简单 Yaml 解析器。
  • ...逐步添加中,欢迎 Star & Fork & PR。

尚未分类 - 模块

欢迎你的帮忙分类!

  • attain:用于 Deno 的中间件 Web 框架,它使用受 Express 和 Oak 启发的 http 标准库,快速稳定地使用适当的内存。
  • bytes_formater:格式化字节(Uint8Array,ArrayBufferView ...)输出,在调试 IO 功能时很有用。
  • camelcase:将破折号/点号/下划线/空格分隔的字符串转换为camelCase:foo-bar→fooBar。
  • cli-spinner:在执行长任务时在终端中显示微调框。
  • coffee:Deno 配置——一种类型安全、易于使用的 Deno 配置管理器。
  • colors:用于 Deno 的基本控制台颜色库。
  • computed_types:类似 Joi 的 Typescript 和 Deno 验证器。
  • context-finder:从配置文件中提取上下文块。
  • csv:一个简单的 CSV 解析器。
  • deno-checksum:SHA1/MD5 算法。
  • deno-context:将期限,取消和其他要求范围的值传播给多个 Promise,行为就像 Go 的上下文。
  • deno-deamon:使 Deno 程序在后台运行。
  • deno-express:Node Express 已移植到 Deno。
  • deno-fnparse:一个非常简单的 JavaScript 解析器、组合器。
  • deno-globrex:globrex 的端口为 deno,globex 的端口为正则表达式。
  • deno-opn:一个可以打开网站、(可执行)文件之类资源的跨平台工具。
  • deno-plugin-prepare:一个用于管理 Dedeno Native 插件依赖关系的库。
  • deno-prettystring:格式化,修剪和删除字符串中字符之间的多余空白。
  • deno-slugify:Deno 的字符串节流器。
  • deno-smtp:SMTP 的 SMTP 邮件发件人。
  • deno-using:带有 Deno 语句的 Python 样式。
  • deno-uuid:Deno 的 UUID 模块。
  • deno_case_style:不同大小写样式的字符串验证器和格式化程序,例如 camelCase 等。
  • deno_cron:cron job 调度程序,使您可以编写具有大量灵活性的可读 cron 语法
  • deno_ls_plugin:一个 TypeScript 插件,它将允许 Deno 之外的 TypeScript 以类似于在 Deno 内部进行解析的方式来解析模块。
  • deno_random_interval:帮助器生成随机间隔。
  • deno_tokenizer:Deno 的简单标记器。
  • denon../watcher.ts:具有等待生成器的文件监视程序。
  • denon:像 Nodemon 的 Deno 库。
  • denotrain:带有中间件支持的多合一 Web 框架,如 Express 或 Fastify for Node.js。
  • dinatra:🌟,一个类似于 Sinatra 的轻量级 Deno Web 应用程序框架。
  • djwt:根据 JWT 和 JWS 规范在 Deno 上创建 JSON Web 令牌(JWT)。
  • doa:一个移植自 koa 的 Deno web 框架 doa。
  • duck:一个简单的扫描 controller 并自动注册路由的中间件。
  • ensure:确保您运行的是 Deno,Typescript 或 V8 的最低版本。
  • evt:EventEmitter 的安全替代品。
  • flags:基于极简主义的 Deno 命令行参数解析器。
  • fossil:值类型验证套件。
  • gardens:一个无处不在的 JavaScript 记录实用程序。
  • gentleRpc:用于 Deno 和浏览器的 JSON-RPC 2.0 TypeScript 库。
  • http:HTTP 模块,包括文件服务器。
  • invert-kv:在 Deno 中反转键/值对。
  • lazy:类似于 linq 的惰性求值迭代模块。
  • log:Deno 的日志记录模块。
  • marked:Markdown 到 HTML 转换器。
  • maze_generator:用于生成、求解、分析和显示迷宫的 Javascript 模块。
  • microraptor:轻量级框架,可通过验证轻松进行网络路由。
  • normalize_diacritics:删除字符串中的重音符号/变音符号。
  • oak:用于 Deno 网络服务器的中间件框架。
  • online:检查您当前是否将 Deno 运行在线上。
  • opine:从ExpressJS移植的快速,简约的网络框架。
  • path:Deno Path 操作库。
  • qrcode:Deno 的 QR 码图像生成器。
  • qs:具有嵌套支持的查询字符串解析器。
  • recursive-readdir:递归读取 Deno 中的目录。
  • router:高性能基本路由器可在任何地方工作。
  • rubico - 🏞 异步函数组成;它刚刚能运行。
  • sax-ts:从 sax-js 移植的 SAX 风格的 XML 解析器。
  • servest:渐进式HTTP服务器/路由器。
  • sql-builder:SQL 查询生成器。
  • status:Deno 的 HTTP 代码和状态实用程序。
  • task-runner-v2:deno-task-runner 的版本 2 解决方案。
  • textproto
  • time.ts:Time.ts,简便的 Deno 时区操作
  • ts-prometheus:一个 prometheus 客户端。
  • type-fest:基本TypeScript类型的集合(sindresorhus端口/ type-fest)。
  • up:检查是否在 Deno 中建立了网站。
  • wasm-gzip:为 Deno 加密和解密 gzip。
  • watch:文件观察器(热更新)。
  • webview:Webview 的 Deno 绑定,这是一个用于创建基于 Web 的桌面 GUI 的小型库。
  • wu-diff-js:一个差异库,使用 wu(O(NP))算法计算两个切片之间的差异。
  • youtube-deno:YouTube 数据 API 的 Deno 客户端库,用于与 YouTube 进行任何交互。
  • ...逐步添加中,欢迎 Star & Fork & PR。

尚未分类 - 工具

欢迎你的帮忙分类!

  • commands:为 Node.js 和 Deno 创建命令快捷方式。
  • clone:一个方便克隆的简单实用程序。
  • dedep:管理依赖版本。
  • denoget:Deno 获取安装的可执行 Deno 脚本。
  • denoinit:Denoinit 为 Deno 项目生成有用的文件。
  • denoliver:具有实时重新加载功能的简单,无依赖的文件服务器。
  • denomander:Deno 命令行界面的灵感来自 commander.js。
  • denon:具有 Await 生成器的文件监视程序。
  • denopkg:在 Deno 项目中使用 GitHub 上的代码的更简单方法。
  • denoversion:Deno 的 SemVer + Git 版本管理。
  • deno.mk:用于安装和运行 Deno 的跨平台 Makefile。
  • deno-docker:一个 Docker 镜像。
  • deno-docker:hayd 的几个 docker 映像。
  • deno-vscode:利用此扩展利用 VS Code 中内置的 typedef 和 intellisense。
  • dev_server:让 TypeScript 文件直接在 script 标签中使用。
  • elm-live-reload:一个用 Deno 编写的 Elm Live Reloader。
  • packer-provisioner-deno:一个 Packer 插件,可轻松使用 Deno 脚本构建虚拟机映像。
  • pika Deno plugin
  • starter:带有 GitHub Actions CI 的 Deno 模块入门模板。
  • deno-task-runner:像 NPM 脚本一样编写任务。
  • typescript-deno-plugin:Deno 语言服务插件,在编辑器中的 TypeScript 文件中提供智能感知。
  • deno-udd:更新面依赖:将导入语句更新为最新发布的版本。
  • velociraptor:Deno 的 npm 风格脚本运行器。
  • vscode-deno:VS Code 扩展,使用 TypeScript Deno 语言服务插件提供 Deno 支持。
  • Update Deno:Github Action,它将具有最新 Deno 版本的文件放入您的存储库。
  • denofn-selfhosted:使用 Deno 和 Docker 构建的自托管 Deno 函数。
  • cloudbase-framework - CloudBase Framework Deno Plugin : Deno 应用一键部署工具
  • ...逐步添加中,欢迎 Star & Fork & PR。

在线沙箱

解决方案

留坑,这里是未来探索的重点。主要罗列如何用 Deno 快速搭建起可供生产环境使用的解决方案。

如果你有好的解决方案,欢迎提供在这里!

项目模板(Demo)

开发 Deno 模块

  • 如何开发 Deno (各种类别的)模块?
  • ...逐步添加中,欢迎 Star & Fork & PR。

开发 Deno Web 服务端应用

  • Deno + Oak + MySQL + RESTful 解决方案?
  • Deno + Oak + MongoDB + GraphQL 解决方案?
  • ...逐步添加中,欢迎 Star & Fork & PR。

开发 Deno Web 客户端应用

  • Deno + React 解决方案?
  • ...逐步添加中,欢迎 Star & Fork & PR。

技术教程

学习网站(中文)

  • ...逐步添加中,欢迎 Star & Fork & PR。

学习网站(英文)

  • ...逐步添加中,欢迎 Star & Fork & PR。

技术专栏(中文)

技术专栏(英文)

系列文章(中文)

目前包括可能会写成电子书的资源。

系列文章(英文)

单篇文章(中文)

专注于收集高质量的博客文章,更多内容可以在谷歌/百度上搜索。目前 Deno 文章不多,尽可能多的罗列不设内容质量限制。

单篇文章(英文)

翻译文章(中文)

这里专门抽来出来中文文章中,是翻译自其它语言(如英语)的文章。

演讲稿(中文)

  • ...逐步添加中,欢迎 Star & Fork & PR。

演讲稿(英文)

在线视频(中文)

在线视频(英文)

电子资源

专注收集公开免费的 PDF、PNG 以及电子书等资源,放置在本项目的 resources 文件夹下。

技术社区

开源组织

重点收集专注于使用 & 回馈 Deno 生态圈的第三方 Github 组织。

  • ...逐步添加中,欢迎 Star & Fork & PR。

社区列表(全网)

  • Deno Discord:🌟,Discord 上的 Deno 官方聊天室,有中文社区。
  • deno.dev:🌟,开发中。
  • deno.js.cn:🌟,Deno 中文社区。
  • denocn.org:🌟,Deno 中文社区。
  • yydeno:YY 大前端团队 Deno 仓库。
  • ...逐步添加中,欢迎 Star & Fork & PR。

讨论热帖(中文)

讨论热帖(英文)

谁在用 Deno?

重点收集已经部署在生产环境的应用,欢迎推荐你的案例,逐步完善中。

  • UsingDeno - 使用 Deno 的 Web 应用程序和项目列表 🦕。
  • ...逐步添加中,欢迎 Star & Fork & PR。

其它订阅

新闻媒体(英文)

社交媒体(英文)

  • twitter@deno_land:Deno Land 官方推特。
  • ...逐步添加中,欢迎 Star & Fork & PR。

番外篇

从 Node.js 到 Deno.js

Deno 依赖的技术清单

Deno 本身依赖的技术的清单库。

仓库更新日志

  • 2020-04-14 初始化本项目,填充独特的中文版内容。
  • 2020-04-14 跟进最新的(180+ Star) @olivewind/awesome-deno-cn 仓库内容。
  • 2020-05-13 新增《Deno 钻研之术》项目,将本项目作为前者的配套项目。
  • 2020-05-14 同步最新的 @denolib/awesome-deno 仓库内容。
  • 2020-05-17 跟进中文化后大改版的(200+ Star) @olivewind/awesome-deno-cn 仓库内容。
  • 2020-05-22 全网大量搜索 Deno 中英文资源并入库,发布 v1.0 版本并收录在《Deno 钻研之术》第二篇中。
  • 2020-08-07 大幅更新:
    • 跟随 Deno 主版本号同步发布 v1.2.2 版本
    • 新增 all-contributor 贡献者机器人
    • 增加如下章节:Deno 版本日志、解决方案
    • 填充大量内容,新增贡献准则
  • 2020-12-xx 大幅更新
    • 引入 Pagic 来展示此资源清单
    • 增加“替代品”介绍,来让用户从 node 的知名框架迁移时能快速找到替代品
    • 跟随 Deno 主版本号同步发布 v1.5.x 版本
    • 同步最新的 @denolib/awesome-deno 内容
    • 全网大量搜索 Deno 中英文资料并入库

贡献者 ✨

感谢如下贡献者的贡献 (emoji key):


hylerrix

🤔 📖

JohannLai

📖

champ

📖

Bd999

📖

杨俊宁

📖

Booker Zhao

📖

木杉

📖

kily zhou

📖

guzhongren

📖

本项目贡献者列表遵循 all-contributors 规范。欢迎你的参与,本仓库贡献准则

开源协议

本项目文档内容均采用 CC-BY-SA-4.0 协议进行共享。