Skip to content

Latest commit

 

History

History
70 lines (49 loc) · 2.98 KB

web_frameworks.md

File metadata and controls

70 lines (49 loc) · 2.98 KB

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 相同的快速启动 React 的方式。类似于 Next.js,Aleph提供了SSR和SSG,以便允许开发人员创建SEO友好的应用程序。此外,Aleph 在Next.js中不提供的一些其他内置功能,如:

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

Ultra

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

Deno 本身支持 JSX 和 TypeScript (因此Ultra也支持),但它们不能在浏览器中工作。Ultra接管了将JSX和TypeScript转译为常规JavaScript的任务。

Ultra的其他亮点包括:

  • 使用 Deno编写。
  • 由import maps 强力驱动。
  • 100% esm。
  • 在开发和生产中都使用 import maps,这极大地简化了工具链-您不必处理大量的打包和转译。
  • 与开发中相同的方式使用导入、导出功能。

Lume

Lume 是一款受Jekyll或Eleventy等其他静态站点生成器启发的Deno静态站点生成器。它易于使用和配置,同时也非常灵活。亮点包括:

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

Oak

Oak 是一款类似于Node.js中的Express的Deno Web应用程序框架。

作为中间件框架,Oak 是前端应用程序与潜在数据库或其他数据源(例如REST API、GraphQL API)之间的粘合剂。只是为了给您一个想法,以下是构建客户端-服务器架构的常见技术栈列表:

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

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