node.js学习之swig

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

Node.js学习之(第二章:exports和module.exports)

node.js学习之react,redux,react-redux

H5+ 移动app学习之二 Native.js

02 Node.js学习之http服务

node.js学习之webpack打包react最简单用法

03 Node.js学习之根据http请求路径返回不同数据