您的位置:首页 > Web前端 > Node.js

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

2017-12-12 15:37 597 查看
用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已配合运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: