【问题标题】:Should I switch from EJS to Dust.js while using Kraken.js?我应该在使用 Kraken.js 时从 EJS 切换到 Dust.js 吗?
【发布时间】:2014-07-15 05:50:51
【问题描述】:

一段时间以来,我们一直在开发一个使用 EJS 作为模板引擎的 Express 应用程序。在 Kraken.js 发布了与 expressJS 4 兼容的版本之后,我被赋予了从 express 迁移到 Kraken 的任务。我的应用不是 MVC 应用。它是一个视图模型,通过 restify 从另一个 node.js 服务器获取其所有数据。

我开始研究默认随 Kraken.js 提供的 Dust.js。我很难决定是否需要将我的模板语言从 ejs 切换到 Dust。关于 Dust.js 的一些与我的应用相关的事情是:

  1. 它是一个逻辑较少的模板引擎。以后可以轻松切换模板引擎
  2. 我真的只关心客户端模板
  3. 可用于异步渲染(不确定是否可以在客户端)
  4. 它有静态和动态的部分
  5. 它有帮助逻辑的辅助方法。它有 for 循环、数学等

我的问题是我能够使用 EJS 完成上述所有操作。为什么我需要切换到 Dust.js?在 Kraken.js 的上下文中,Dust.js 相对于 EJS 带来了哪些优势?

【问题讨论】:

    标签: ejs dust.js kraken.js


    【解决方案1】:

    本质上没有必要在海妖中使用灰尘。 PayPal 使用灰尘,因此围绕它构建了许多基础设施,但如果您不需要这些功能,使用任何其他模板语言都是一样的(除了这些模板语言之间的根本区别)。

    至于通过使用海妖的灰尘获得什么:最简单的解释是本地化。 krakenjs stable of monsters 中的几个模块目前对灰尘有很强的依赖性。即,engine-munger(专业化和 l18n)、makara(l18n — 主要被 engine-munger 取代)和adaro(快速灰尘渲染器)。如果正在使用某些模块会利用灰尘(bundalo,例如,代表您将东西放入灰尘缓存)或公开对灰尘的一流支持(kraken-devtools 处理特定于环境的资产编译;例如,在开发中的苍蝇与产品上的构建步骤)。

    总而言之,如果您不需要使用支持的方法进行国际化,您不一定会失去任何东西。如果你想使用某些东西,比如 kraken-devtools 或 karka,你可能最终不得不编写一些自己的基础设施,但这些绝对不是不可克服的问题。

    【讨论】:

      猜你喜欢
      • 2010-09-05
      • 1970-01-01
      • 2011-09-13
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多