使用像Jade这样的模板引擎有什么优缺点?

Jam*_*son 8 html template-engine node.js pug

我正在研究使用Node.js开发一个Web应用程序.我来自PHP背景,我没有使用模板引擎(除了PHP本身),我总是直接写HTML.那么,为什么我应该或不应该使用Jade或其他模板引擎?

jma*_*777 9

优点:

  • 鼓励良好的代码组织(数据生成与表示代码分开)
  • 输出生成更具表现力(模板语法不需要大量的字符串连接)
  • 更高的生产力(已经处理了输出编码,迭代,条件等常见问题)
  • 通常总体上需要更少的代码(特别是jade具有非常简洁的语法)

缺点:

  • 一些性能开销
  • 还有一件事需要学习

  • 绝对.做一些像`res.write('<h1>'+ pageTitle +'</ h1>');`,vs`res.render('title-template',{title:pageTitle} );`(快递中).但在大多数情况下,性能开销可以忽略不计.如果玉(或其他模板引擎)是你的瓶颈,你在其他地方做得非常好. (3认同)
  • 好吧。模板引擎+缓存比直接写入响应流而不使用缓存更快(有时:)。不过,可以(并且应该)在没有模板引擎的情况下应用相同的缓存逻辑。最重要的是,模板引擎是一种抽象,无论它们编译成什么形式,都会带来一些开销。最终,他们也只是写入响应流,因此如果明智地完成,跳过模板引擎只会更快。 (2认同)
  • 我同意聪明和可维护:p.然而,如果唯一的标准是速度,我个人会放弃模板引擎. (2认同)