Node.js 入门笔记(2) - swig模板

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hjh00/article/details/78781412

用express创建的Nodejs项目缺省使用jade模板,最后决定采用swig模板,类似jinja的模板。

1. 安装

npm install swig --save


2. 参照error.jade、index.jade和layout.ade生成error.html、index.html和lyout.html三个文件

1)layout.html定义了两个block : 一个title、一个content

<!DOCTYPE html>
<html>
    <head>
        <title>{% block title %}{% endblock %}</title>
        <link href='/stylesheets/style.css' real='stylesheet'>
    </head>
    <body>
        {% block content %}{% endblock  %}
    </body>
</html>
2)index.html 扩展(extends)自layout.html,
{% extends 'layout.html' %}

{% block title %}index {{ title }} {%endblock%}

{% block content %}
<p> This is a swig template engine demo. </p>
{% endblock %}

3)error.html 扩展(extends)自layout.html

{% extends 'layout.html' %}

{% block title %}index {{ title }} {%endblock%}

{% block content %}
<h1>{{ message }}</h1>
<h2>{{ error.status }}</h2>
<pre>{{ error.stack }}</pre>
{% endblock %}
4)修改app.js

增加

var swig = require('swig'); 

增加

swig.setDefaults({
  cache: false
});

注释

//app.set('view engine', 'jade');

增加

app.set('view engine', 'html');
app.engine('html', swig.renderFile);

修改

res.render('error');

res.render('error',{ title: 'Express & swig'});




5)修改/routes/index.js

找到res.render('index' 将其修改为

res.render('index', { 
    title: 'Express & swig',
    content: 'This is a demo of swig.'
 });


3. 运行效果

nmp start 运行,通过浏览器看效果



ok, express与swig已配合运行。

猜你喜欢

转载自blog.csdn.net/hjh00/article/details/78781412