Swig--模板引擎

Posted 平静的学习

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swig--模板引擎相关的知识,希望对你有一定的参考价值。

{% filter uppercase %}
    oh hi, {{ name }}
{% endfilter %}
{% filter replace "." "!" "g" %}
    Hi. My name is Paul.
{% endfilter %}

在express中使用:

 var swig = require(‘swig‘);
app.engine(‘html‘, swig.renderFile);
app.set(‘views‘, ‘./views‘);
app.set(‘view engine‘, ‘html‘);
swig.setDefaults({cache: false});
和ejs相比我觉得有个好处是和html标签嵌套使用的时候,不需要分割;



语法:
赋值:{{ }}
eg:
<h1>{{name}}</h1>
{% %}
if:条件语句
{% if x %}{% endif %}
else 和 else if
{% if foo %}
    Some content.
{% else if "foo" in bar %}
    Content if the array `bar` has "foo" in it.
{% else %}
    Fallback content.
{% endif %}
for循环
eg:
{% for num in foo %}
    <li>{{ num }}</li>
{% endfor %}
set:设置一个变量
eg:
{% set foo = [0, 1, 2, 3, 4, 5] %} {% for num in foo %}
    <li>{{ num }}</li>
{% endfor %}
过滤器:filter:对整个块应用过滤器
eg:
{% filter uppercase %}
    oh hi
{% endfilter %}
转换为大写字母

eg: {% filter replace "." "!" "g" %} Hi. My name is Paul. {% endfilter %}
全局查找,将‘.‘替换成‘!‘
 
 
 
 

以上是关于Swig--模板引擎的主要内容,如果未能解决你的问题,请参考以下文章

Swig模板引擎 使用指南

express+gulp构建项目swig模板

nodeJS + Swig模板将变量传递给javascript

在 Express 中使用模板引擎

Express中使用Pug写模板引擎

Node.js-视图引擎-Swig集成express的安装与配置