在本页

Web 框架

最有可能的是,如果你正在构建一个更复杂的应用程序,你将通过一个 Web 框架与 Deno 进行交互。Deno 支持两种类型的 Web 框架

  • Node.js 原生框架/工具/库。一些最流行的工具,例如 esbuild,明确支持 Node.js 和 Deno。这里的缺点是,你可能无法获得最佳体验或性能。
  • Deno 原生框架/工具/库。我们将在下面介绍其中的一些。

Deno 原生框架 跳转到标题

Fresh 跳转到标题

Fresh 是 Deno 最流行的 Web 框架。它使用了一种模型,默认情况下你不会向客户端发送任何 JavaScript。大多数渲染是在服务器上完成的,客户端只负责重新渲染小的 交互岛屿。这意味着开发人员明确选择对特定组件进行客户端渲染。

Aleph 跳转到标题

Aleph.js 是 Deno 的第二大流行的 Web 框架。它为你提供了与 Create-React-App 相同的快速入门体验。与 Next.js 一样,Aleph 提供了开箱即用的 SSR 和 SSG,以便开发人员可以创建 SEO 友好的应用程序。此外,Aleph 还提供了一些 Next.js 中没有的内置功能,例如

  • 热重载(使用 React Fast Refresh)
  • ESM 导入语法(无需 webpack)
  • TypeScript 就绪

Ultra 跳转到标题

Ultra 是一个现代的流式 React 框架,用于 Deno,它是 Aleph 的另一种选择。它是一种使用 React 构建动态媒体丰富网站的方法,类似于 Next.js。

Deno 本身支持开箱即用的 JSX 和 TypeScript(因此 Ultra 也支持),但它们在浏览器中不起作用。Ultra 接管了将 JSX 和 TypeScript 转换为普通 JavaScript 的任务。

Ultra 的其他亮点包括

  • 用 Deno 编写。
  • 由导入映射提供支持。
  • 100% esm。
  • 在开发和生产中都使用导入映射,这极大地简化了工具链 - 你不必处理大量的捆绑和转译。
  • 源代码在生产中被发布,类似于它的编写方式。
  • 导入、导出,就像它们在开发中一样工作。

Lume 跳转到标题

Lume 是一个用于 Deno 的静态网站生成器,它受到其他静态网站生成器(如 Jekyll 或 Eleventy)的启发。它易于使用和配置,同时又非常灵活。亮点包括

  • 支持多种文件格式,如 Markdown、YAML、JavaScript、TypeScript、JSX、Nunjucks。
  • 你可以连接任何处理器来转换资产,例如用于 CSS 的 sass 或 postcss。
  • 无需在node_modules中安装数千个包或使用复杂的打包工具。

Hono 跳转到标题

Hono 是一个轻量级的 Web 应用框架,沿袭了 Express 和 Sinatra 的传统。只需几行代码,您就可以设置一个 API 服务器或一个动态网页服务器。Hono 提供了 Deno 原生的安装路径,并与 Deno 内置的 TypeScript 工具完美配合。

  • 本网站由运行在 Deno Deploy 上的 Hono 提供服务。

Oak 跳转到标题

Oak 是一个为 Deno 设计的 Web 应用框架,灵感来自 Koa 和 @koa/router。

作为中间件框架,Oak 是您的前端应用程序与潜在数据库或其他数据源(例如 REST API、GraphQL API)之间的桥梁。为了让您更好地理解,以下列出了构建客户端-服务器架构的常见技术栈:

  • React.js (前端) + Oak (后端) + PostgreSQL (数据库)
  • Vue.js (前端) + Oak (后端) + MongoDB (数据库)
  • Angular.js (前端) + Oak (后端) + Neo4j (数据库)

Oak 提供了比 Deno 原生 HTTP 服务器更多的功能,包括基本的路由器、JSON 解析器、中间件、插件等。