什么是 Toffee?
Toffee 是一个基于 TypeScript 编写的模板引擎,用于构建动态 HTML 页面。它支持模板继承、条件渲染、循环遍历等功能,并允许使用自定义标签和过滤器。
安装 Toffee
使用 npm 安装 Toffee:
npm install toffee
使用 Toffee
简单示例
以下是一个简单的 Toffee 模板示例:
-- -------------------- ---- ------- --------- ----- ------ ------ --------- ----- ---------- ------- ------ ------ ----- ------- ---- -- --- ---- -- ----- -- ------ ---- ------- -- ------ -- ----- ------- -------
在 JavaScript 中,可以使用 Toffee 将数据渲染到该模板中:
-- -------------------- ---- ------- ----- ------ - ------------------ ----- -------- - --- -------- --------- ----- ------ ------ --------- ----- ---------- ------- ------ ------ ----- ------- ---- -- --- ---- -- ----- -- ------ ---- ------- -- ------ -- ----- ------- ------- --- ----- ---- - - ------ --- ------ ------ ------- ------ ------ -- ----- ---- - ---------------------- ------------------
输出结果如下:
-- -------------------- ---- ------- --------- ----- ------ ------ --------- ------------ ------- ------ ------ --------- ---- ------------ ------------ ------------ ----- ------- -------
模板继承
Toffee 支持模板继承,可以将一个模板作为其他模板的基础模板,减少重复代码量。
以下是一个示例:
-- -------------------- ---- ------- ---- --------- --- --------- ----- ------ ------ --------- ----- ----- ---- -------- ---------- ------- ------ -------- -- ----- ------ ---- -------- -- --------- ------ -- ----- ------- ---- -------- -- ------- -------- -- ----- ------ ---- -------- -- --------- ------- -------
-- -------------------- ---- ------- ---- ---------- --- -- ------- ----------- -- -- ----- ----- ------- ------ -------- -- -- ----- ------ -- ----- ---- ---------- ----- --- ------ -- -------- -- -- ----- ------- -- --------- ---- ---- ------- --- ---------- -- -------- -- -- ----- ------ -- --------- ---- -- ----------- -- -------- --
在 JavaScript 中使用 Toffee 渲染该模板:
-- -------------------- ---- ------- ----- ------ - ------------------ ----- ------------ - --- -------- --------- ----- ------ ------ --------- ----- ----- ---- -------- ---------- ------- ------ -------- -- ----- ------ ---- -------- -- --------- ------ -- ----- ------- ---- -------- -- ------- -------- -- ----- ------ ---- -------- -- --------- ------- ------- --- ----- ------------- - --- -------- -- ------- ----------- -- -- ----- ----- ------- ------ -------- -- -- ----- ------ -- ----- ---- ---------- ----- --- ------ -- -------- -- -- ----- ------- -- --------- ---- ---- ------- --- ---------- -- -------- -- -- ----- ------ -- --------- ---- -- ----------- -- -------- -- --- ----- ---- - ------------------------- ------------------
输出结果如下:
-- -------------------- ---- ------- --------- ----- ------ ------ ------------ ------------ ------- ------ -------- ----- - ----------------------------------------------------------- -------- ----------------------------------------------------------------------------------