2011-09-13 85 views
8

我正在研究用Node.js開發一個Web應用程序。我來自一個PHP背景,我沒有使用模板引擎(除了PHP本身),我總是直接寫HTML。那麼,爲什麼我應該或不應該使用Jade或其他模板引擎?使用像Jade這樣的模板引擎有什麼優缺點?

+0

您使用了模板語言,PHP是一種。 – Raynos

+8

對,這就是爲什麼我說「除了PHP本身」。 –

回答

9

優點:

  • 鼓勵良好的代碼組織(數據生成是從演示代碼分離)
  • 輸出生成更有表現(模板語法不需要字符串連接的海)
  • 更好生產力(常見問題,如輸出編碼,迭代,條件等已被處理)
  • 通常需要更少的代碼總體(玉特別是有一個非常簡潔的語法)

缺點:

  • 一些性能開銷
  • 再來就是學習
+0

這是什麼「性能開銷」。你是否建議你可以動態生成HTML,這比模板引擎更快? – Raynos

+2

當然。 'res.write('

'+ pageTitle +'

');',vs.'res.render('title-template',{title:pageTitle});'(in表現)。但是,在大多數情況下,性能開銷可以忽略不計。如果玉器(或其他模板引擎)是你的瓶頸,那麼你在其他地方相當不錯。 – jmar777

+0

這僅適用於專利模板。由於緩存,任何嚴肅的模板在使用模板引擎時會更快。 – Raynos

1

關於JADE或任何其他模板語言,從HTML差別很大:

首先調試生成的HTML會花費更多時間。您在瀏覽器中看到HTML,並且需要將其解析回JADE(在您的大腦中)才能與您的編輯器內容進行比較。這是非常不方便的,並且使得調試應該更加困難。

當然,如果您是唯一一位在代碼上工作的程序員,這可能不會成爲問題。如果你是寫這些代碼的人,那麼使用JADE代碼行來匹配html代碼似乎很容易。

這是一個團隊工作時的問題。

相關問題