标签:node.js swig
超简单的swig用法,都不用多解释,上代码:
index.js:
‘use strict‘; var http = require(‘http‘), swig = require(‘swig‘); http.createServer(function (req, res) { var tmpl = swig.compileFile(__dirname + ‘/index.html‘), renderedHtml = tmpl({ people: [ { name: ‘Paul‘, age: 28 }, { name: ‘Jane‘, age: 26 }, { name: ‘Jimmy‘, age: 45 } ], title: ‘Basic Example‘ }); res.writeHead(200, { ‘Content-Type‘: ‘text/html‘ }); console.log(renderedHtml); res.end(renderedHtml); }).listen(1337); console.log(‘Application Started on http://localhost:1337/‘);
tmpl 应该是swig返回的一个函数,具体是什么没仔细看,renderedHtml是替换过值的hmtml字符串。
index.html:
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>{{ title }}</title> </head> <body> <h1>{{ title }}</h1> <ul> {% for person in people %} {% for person in people %} <li>{{ person.name }} age {{ person.age }}</li> {% endfor %} {% endfor %} </ul> </body> </html>
html里的变量要和js中的对像中的属性一一对应,变量用 {{}} (双花括号)表示,还可以有for循环和if判断,如果是有这类的关键字,要用{% %} 包括,包括中的内容就会根据条件决定显示或不显示或显示多少次。还可以循环嵌套,很容易明白,一看就懂了。
参考 http://www.w3hacker.com/nodejs-swig-example.html
本文出自 “__无字书” 博客,请务必保留此出处http://wuzishu.blog.51cto.com/6826059/1743485
标签:node.js swig
原文地址:http://wuzishu.blog.51cto.com/6826059/1743485