npm 包 epay-ftl-middleware 使用教程

阅读时长 6 分钟读完

简介

epay-ftl-middleware 是一个基于 Node.js 的中间件,用于将 FTL 模板渲染为 HTML。它支持模板的动态替换、多语言支持和缓存等功能。

安装

在项目根目录下执行以下命令安装 epay-ftl-middleware。

配置

在 Express 应用程序中引入 epay-ftl-middleware,按照以下示例进行配置。

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

说明:

  • viewRoot:存放 FTL 模板的路径,必须是绝对路径。
  • cache:是否启用缓存,缺省为 true,开发环境建议设置为 false。
  • contentType:返回的内容类型,缺省为"text/html;charset=utf-8"。
  • defaultLanguage:缺省语言,缺省为 zh_CN。
  • supportedLanguages:支持的语言列表,缺省为 ['en_US', 'zh_CN']。
  • i18n:国际化配置。

动态替换

在 FTL 模板中使用 ${...} 语法,将会被 epay-ftl-middleware 替换为指定的值。例如,在模板中使用 ${name} 表示替换为名字变量的值。

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

在 Express 控制器中,将参数传递给模板引擎,控制器示例代码如下:

上述代码中,hello 变量可以通过 req.__('hello') 获取到国际化支持。

多语言支持

epay-ftl-middleware 通过 i18n 参数支持多语言配置。将在 req.__() 方法中查找相应语言的翻译文本。

例如,在 options 参数中定义以下配置:

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

控制器中的语法如下:

以支持多语言替换。

缓存

默认情况下,epay-ftl-middleware 启用缓存功能,对渲染后的结果进行缓存,以提高渲染的性能。可以通过 cache: false 禁用缓存功能,开发环境建议禁用缓存。

常见问题

Q: FTL 模板文件名后缀是什么?

A: FTL 模板文件名后缀为.ftl

总结

epay-ftl-middleware 可以帮助我们将 FTL 模板渲染为 HTML 页面,并且支持多语言,动态替换以及缓存等功能。通过本文的介绍,您应该已经掌握了如何使用 epay-ftl-middleware。如果您有任何问题或意见,请在下面的评论区留言。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005673181e8991b448e3b1f

纠错
反馈