Nodejs CoffeeKup模板引擎
Nodejs CoffeeKup模板引擎
http://coffeekup.org 刚发现这么个好东西,太爽了,纯CoffeeScript,简洁程度几乎与Jade相同
我喜欢简洁
###Performance report for 100000 templates (win32):
Gaikan ( 1065ms) - fastest
Handlebars.js ( 1507ms) - 42% slower
doT ( 1599ms) - 50% slower
Fest ( 1618ms) - 52% slower
artTemplate ( 1675ms) - 57% slower
ECT ( 2300ms) - 116% slower
Hogan.js ( 3084ms) - 190% slower
Jade without with
( 3647ms) - 242% slower
EJS without with
( 3855ms) - 262% slower
Dust ( 3921ms) - 268% slower
Underscore ( 4294ms) - 303% slower
Swig ( 4816ms) - 352% slower
Eco ( 4980ms) - 368% slower
EJS ( 6578ms) - 518% slower
CoffeeKup ( 9375ms) - 780% slower
Jade (11637ms) - 993% slower
污染全局变量了, 我有个对全局变量做了处理的方案 https://github.com/mvc-works/coffee-html
只要提到模板马上就有人开始说性能,唉……
我基本一看jade都要把它换成ejs
Node.js CoffeeKup 模板引擎
CoffeeKup 是一个简洁且功能强大的模板引擎,它是用 CoffeeScript 编写的。它旨在提供类似于 Jade(现在称为 Pug)的简洁性,但完全使用 CoffeeScript 实现。
安装
首先,你需要安装 coffeekup
和 coffee-script
。你可以通过 npm 来安装它们:
npm install coffeekup coffee-script
基本用法
CoffeeKup 使用 CoffeeScript 语法来编写模板。下面是一个简单的例子,展示如何使用 CoffeeKup 创建一个 HTML 页面。
假设我们有一个简单的数据对象:
data =
title: "My Awesome Page"
content: "Welcome to my awesome page!"
我们可以使用 CoffeeKup 来渲染这个数据到 HTML 中:
Coffeekup = require 'coffeekup'
fs = require 'fs'
# 定义模板
template = ->
html ->
head ->
title -> @title
body ->
h1 -> @title
p -> @content
# 渲染模板
htmlOutput = Coffeekup.render(template, data)
# 将结果写入文件
fs.writeFileSync('output.html', htmlOutput)
上述代码中,我们定义了一个简单的模板,包含一个标题和一段内容。然后我们使用 Coffeekup.render
方法将模板和数据结合起来生成最终的 HTML 输出,并将其写入 output.html
文件中。
更多功能
CoffeeKup 还支持嵌套模板、条件语句、循环等高级功能。例如,我们可以使用条件语句来根据某些条件动态地生成不同的内容:
# 假设我们有一个更复杂的数据结构
data =
title: "My Awesome Page"
content: "Welcome to my awesome page!"
showExtraContent: true
extraContent: "<p>This is some extra content.</p>"
# 定义模板
template = ->
html ->
head ->
title -> @title
body ->
h1 -> @title
p -> @content
if @showExtraContent
div ->
@extraContent
# 渲染模板
htmlOutput = Coffeekup.render(template, data)
在这个例子中,如果 showExtraContent
为 true
,则会渲染额外的内容。
总结
CoffeeKup 是一个简洁而强大的模板引擎,非常适合那些喜欢使用 CoffeeScript 的开发者。它的语法简洁,易于理解和使用,同时提供了足够的灵活性来处理复杂的模板需求。希望这个简短的介绍能帮助你快速上手 CoffeeKup。