超简单的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:

    
    {<div></div> { title }}     

{
{ title }}

    
            {% for person in people %}         {% for person in people %}        
  • {
    { person.name }} age {
    { person.age }}
  •          {% endfor %}        {% endfor %}    
 

html里的变量要和js中的对像中的属性一一对应,变量用 {

{}} (双花括号)表示,还可以有for循环和if判断,如果是有这类的关键字,要用{% %} 包括,包括中的内容就会根据条件决定显示或不显示或显示多少次。还可以循环嵌套,很容易明白,一看就懂了。

参考 http://www.w3hacker.com/nodejs-swig-example.html