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模板引擎汇总
1. Express中使用swig模板引擎 2.Swig 使用指南 3.jade to html online
- swig模板引擎和ejs模板引擎
swig模板引擎的基本用法: 1. 变量 {{ name }} //name名前后必须要加空格,不加就会报错 2. 属性 {{ student.name }} 3. 模板继承 swig使用exten ...
- 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) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
随机推荐
- 第 3 章 HTML5 网页中的文本和图像
文字和图像是网页中最主要.最常用的元素. 在互联网高速发展的今天,网站已经成为一个展示与宣传自我的通信工具(公司或个人可以通过网站介绍公司的服务与产品或介绍自己).这些都离不开网站中的网页,而网页的内 ...
- Django之WSGI 和MVC/MTV
一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能 ...
- PHP如何自定义PHP内置函数
其实对于PHP程序员,有个纯PHP的解决方案.在php.ini里有个配置项 auto_prepend_file,可以设置一个PHP文件作为每次执行前自动加载的文件. 在这个文件里写函数,你就可以当成定 ...
- js正则匹配以某字符串开始字符串
let decode_sql ="select * from table where create_user='user' order by id desc"; decode_ ...
- jq 如何获取多选框选中的值
jquery如何获取多选框选中的值,有两种方法 1.通过id获取是否选中(单个) 1)引入jquery文件 2)Html设计如下 <div> <span>运动类:</sp ...
- SpringBoot添加webapp目录
一.文章简述 使用IDEA工具创建的SpringBoot项目本身是没有webapp目录的.如果我们想要添加webapp目录的话,可以手动添加. 二.操作步骤 1)点击IDEA右上角的Project S ...
- 002-linux——控制台的使用:
1.桌面控制台: 2.字符控制台: .默认6个字符控制台. .独立运行 互不影响 .多用户 多任务 tty-控制台的使用: .开始进入的是图形图面:tty1 就是图形界面. .图形界面切换到字符界面 ...
- spark使用正则表达式读入多个文件
String dir = "s3a://example/";String currentDir = dir + "{1[5-9],2[01]}/*.txt";J ...
- 【JAVA】关于向上转型与向下转型
向上转型: 子类引用的对象转换为父类类型称为向上转型.通俗地说就是是将子类对象转为父类对象.此处父类对象可以是接口 如果子类重写了父类的方法,就根据这个引用指向调用子类重写的这个方法,不是调用父类的, ...
- 遍历所有子物体中renderer(渲染器)中的material(材质)
//得到所有可渲染的子物体Renderer[] rds = transform.GetComponentsInChildren<Renderer>();//逐一遍历他的子物体中的Rende ...