天天看点

swig模板 PHP,Swig--模板引擎{{name}}

{% 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:

{{name}}

{% %}

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 %}

{{ num }}

{% endfor %}

set:设置一个变量

eg:

{% set foo = [0, 1, 2, 3, 4, 5] %} {% for num in foo %}

{{ num }}

{% endfor %}

过滤器:filter:对整个块应用过滤器

eg:

{% filter uppercase %}

oh hi

{% endfilter %}

转换为大写字母

eg:

{% filter replace "." "!" "g" %}

Hi. My name is Paul.

{% endfilter %}

全局查找,将'.'替换成'!'

swig模板引擎汇总

1. Express中使用swig模板引擎 2.Swig 使用指南 3.jade to html online

NodeJS中使用swig模板引擎

NodeJS中的默认引擎是jade有点过于复杂,而且不是以HTML为基础的,学习成本和前端适应成本都很大.而ejs虽然简单,但不支持模板导入,而且效率一般. swig的语法简单,学习成本很低,符合常规 ...

express+gulp构建项目(五)swig模板

这里的文件负责配置swig模板引擎. index.js var jsonHash = require('./json_file'); var staticTag = require("./t ...

Handlebars 模板引擎之前后端用法

前言 不知不觉间,居然已经这么久没有写博客了,坚持还真是世界上最难的事情啊. 不过我最近也没闲着,辞工换工.恋爱失恋.深圳北京都经历了一番,这有起有落的生活实在是太刺激了,就如拿着两把菜刀剁洋葱一样, ...

说说如何用js实现一个模板引擎

本文同步更新在: https://github.com/whxaxes/blog/issues/4 ,在 github 看文章显示效果会更好一些. 前言 不知不觉就很长时间没造过什么轮子了,以前一直想 ...

Node.js模板引擎的深入探讨

每次当我想用 node.js 来写一个 web 相关项目的时候.我总是会陷入无比的纠结.原因是 JavaScript 生态圈里的模板引擎实在太多了,但那么多却实在找不出一个接近完美的,所谓完美的概念就 ...

node 模板引擎使用的步奏

//定义模板引擎 app.engine('html',swig.renderFile);//设置模板引擎所存放的位置app.set('views','/views');//注册所使用的模板引擎app. ...

2 ~ express ~ 模板引擎的配置与使用

一,创建应用 (一),创建应用,监听端口 var express = require('express') // 创建app应用 var app = express() app.listen(3000 ...

JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

推荐13款javascript模板引擎

javaScript 在生成各种页面内容时如果能结合一些模板技术,可以让逻辑和数据之间更加清晰,本文介绍 X 款 JavaScript 的模板引擎.(排名不分先后顺序) 1. Mustache 基于j ...

随机推荐

Winmail.dat(TNEF) issue on outlook

http://www.dwheeler.com/essays/microsoft-outlook-tnef.html

Oracle connect by 树查询之三(超详细)

查找员工编号为7369的领导: 1 SELECT LEVEL,E.* FROM EMP E CONNECT BY PRIOR E.MGR = E.EMPNO START WITH E.EMPNO = ...

jquery ajax 语法

$("select[name=type_id]").change(function(e) {    var val=$(this).val();    $.ajax({       ...

MySQL 序列 AUTO_INCREMENT

MySQL序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现. 本章我们将介绍如何使用MySQL的序列 ...

RabbitMQ.NET In Window Service

工作中要求使用RabbitMQ,以Windows Service 模式启动,中间有遇到一些问题,网上大部分博客有误导倾向, 在这里做一个简单的记录,以免后面的人走坑: 1. 自动重新连接,不需要手动处 ...

[Ubuntu]明明白白安装中文字体

Ubuntu 6.06 dapper对中文的支持应该说是一向不错的,包括现在默认安装就包含了scim输入法.然而,一般安装的ubuntu虽然能够显示.输入中文了,但总觉 得所显示的中文像歪瓜裂枣,很是 ...

创建Java不可变类

不可变(immutable)类的意思是创建该类的实例后,该实例的Field是不可改变的,Java提供的8个包装类和java.lang.String类都是不可变类. 如果需要创建自定义的不可变类,可遵守 ...

关于Gateway

为什么要有gateway?就是因为如果没有,很多的功能需要在在每个微服务中都实现,这样成本很高.

放大的X 【杭电-2655】 附题

/* 放大的X Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

四. Java继承和多态4. 多态和动态绑定

在Java中,父类的变量可以引用父类的实例,也可以引用子类的实例. 请读者先看一段代码: public class Demo { public static void main(String[] ar ...