Deno 教程 目录

Deno 使用Fresh模板引擎

引入 Fresh 模板引擎

在本章中,我们将介绍如何使用 Fresh 模板引擎来构建 Deno 应用程序。Fresh 是一个现代化的 Web 框架,专为 Deno 设计,它提供了一套简洁且高效的工具来简化前端开发流程。通过使用 Fresh,你可以快速地创建和管理复杂的 Web 应用。

安装 Fresh

在开始之前,请确保已经安装了 Deno。如果尚未安装,请参考官方文档完成安装。

接下来,我们需要安装 Fresh CLI 工具,以便能够轻松地初始化项目并生成所需的文件结构。可以通过以下命令全局安装 Fresh CLI:

这里使用了 https://deno.land/x/fresh@v1.0.0/cli.ts 的最新版本。根据需要,您可以选择特定版本或更新到最新版本。

创建项目

安装完 Fresh CLI 后,我们就可以创建一个新的项目了。通过以下命令创建项目:

这将生成一个名为 my-deno-app 的新目录,并在此目录中初始化一个基本的 Fresh 应用程序。进入新创建的项目目录:

项目结构

Fresh 生成的项目具有以下典型的目录结构:

  • app: 存放页面组件、布局和其他应用相关文件。
  • static: 存放静态资源,如图片、字体等。
  • routes: 存放路由配置和处理逻辑。
  • tsconfig.json: TypeScript 配置文件。
  • deno.json: Deno 配置文件。

配置 Fresh

deno.json 文件中,你可以找到一些基本的配置项。例如,可以在这里定义环境变量或调整其他运行时参数。

添加模板引擎

Fresh 默认使用 JSX/TSX 作为模板引擎,但也可以集成其他模板引擎。为了演示,我们将使用 EJS(Embedded JavaScript)模板引擎。首先,需要安装 ejsfresh-ejs 插件:

然后,你需要在项目根目录下创建一个 fresh.config.ts 文件,并添加如下配置:

-- -------------------- ---- -------
------ - ------------ - ---- ------------------------------------------
------ --- ---- ----------------------------------------------

------ ------- --------------
  -------- -
    -----
      -- ----------------
      ----- --------------
    ---
  --
---

使用 EJS 模板

app 目录下创建一个 templates 文件夹,用于存放 EJS 模板文件。例如,创建一个简单的 index.ejs 模板文件:

-- -------------------- ---- -------
--------- -----
----- ----------
------
  ----- ----------------
  ---------- ----- ----------
-------
------
  ----------- -- --- ----- --------
-------
-------

接下来,在 routes/index.ts 中引入并渲染这个模板:

-- -------------------- ---- -------
------ - ------------ - ---- ------------------------------
------ - ---- - ---- ------------------------------------------

------ ------- -------- ------ -
  ----- ------- --------- - ------------------- ---- ------

  ------ -
    ----- ---------------- ------- ------ ------- -- --
  --
-

这里,我们使用了 View 组件从 Fresh 提供的 fresh-ejs 插件中导入模板。data 属性允许我们将数据传递给模板,从而动态生成内容。

动态路由和模板

Fresh 支持动态路由,这意味着你可以基于 URL 参数生成不同的页面。例如,如果你希望根据用户 ID 显示个人资料页面,可以在 routes/user/[id].tsx 中创建一个动态路由:

-- -------------------- ---- -------
------ - ---- - ---- ------------------------------------------

------ ------- -------- ------------- ------ -- -
  ------ -
    -----
      ------------------
      -------
        ------- ----------
      --
    --
  --
-

在这个例子中,[id] 路径段表示这是一个动态路由部分。params 对象包含了 URL 中的实际值。同时,在 app/templates/profile.ejs 中创建对应的模板文件。

总结

通过以上步骤,你已经成功地在 Deno Fresh 应用中集成了 EJS 模板引擎。这不仅让你能够利用 EJS 的强大功能来创建动态网页,还展示了如何将不同的技术栈整合在一起,以满足更复杂的应用需求。接下来,你可以继续探索更多关于 Fresh 和 EJS 的高级功能,以进一步提升你的应用程序。

纠错
反馈