NodeJS中使用swig模板引擎
NodeJS中的默认引擎是jade有点过于复杂,而且不是以HTML为基础的,学习成本和前端适应成本都很大。而ejs虽然简单,但不支持模板导入,而且效率一般。
swig的语法简单,学习成本很低,符合常规逻辑,实验了一下,非常满意;
swig的官网:swig
在Express中使用swig
在nodejs随便建立一个express项目,直接使用命令
mddir 文件夹名称
cd 文件夹名称
express
就可以建立一个一jade为模板的项目。
在package中更改引用
把jade去掉,改为:
"swig": "~1.4.2"
修改app.js
var app = express();
app.set('view engine', 'jade');
//把上面的代码改为下面的
var app = express(),
swig = require('swig'),
people;
app.set('view engine', 'html');
然后增加一行代码:
app.engine('html', swig.renderFile);
app.listen(3000);
然后把原来的views文件夹下得文件后缀都改为html
模板文件layout.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>{% block title %}{% endblock %}</title>
{% block head %}
{% endblock %}
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>
index.html
{% extends 'layout.html' %}
{% block title %}index {{title}} {%endblock%}
{% block head %}
{{title}}
{% endblock %}
{% block content %}
<p>This is just an awesome page.</p>
{% endblock %}
这两个文件可以初步了解swig的语法 - block相当于编辑区 - 导入模板使用:extends - 输出变量使用 {{ 变量名 }}
更详细的语法参考swig的官网。
然后再路由中设置即可使用:
router.get('/', function(req, res) {
res.render('index', { title: '标题' });
});
NodeJS中使用swig模板引擎的更多相关文章
- swig模板引擎汇总
1. Express中使用swig模板引擎 2.Swig 使用指南 3.jade to html online
- swig模板引擎和ejs模板引擎
swig模板引擎的基本用法: 1. 变量 {{ name }} //name名前后必须要加空格,不加就会报错 2. 属性 {{ student.name }} 3. 模板继承 swig使用exten ...
- 在express站点中使用ejs模板引擎
在express站点中使用ejs模板引擎 文/玄魂 目录 在express站点中使用ejs模板引擎 前言 1.1 安装 1.2修改app.js 1.3创建测试页面 前言 使用 vs创建 ...
- nodejs+Express中使用mustache模板引擎
由于公司一个seo项目,需要我协助.此项目他人已经开发大半,由于seo需要,使用了服务器端模板引擎.我项目的后端同事说项目是go语音写的,跑项目麻烦,只给了我template和css等静态文件. 为了 ...
- 【转】在Express项目中使用Handlebars模板引擎
原文:http://fraserxu.me/2013/09/12/Using-Handlebarsjs-with-Expressjs/ 最近在用Expressjs做一个项目,前后端都用它来完成.自己之 ...
- nodejs中引入art-template模板
使用Webstorm创建nodejs express应用时,默认使用的是jade或者ejs模板,对于不习惯这两种模板语法的人来说确实不是很方便.没关系,这里我们使用art-template模板引擎,使 ...
- .NET Core中使用Razor模板引擎
一.简介 在MVC以外的场景中,我们往往需要完成一些模板引擎生成代码或页面的工作:在以前我们一般常用的有Razor.NVeocity.VTemplate.虽然所有的模板系统都具有一些共同特征,但 Ra ...
- (21)odoo中的QWeb模板引擎
-----------------更新时间18:13 2016-04-05 星期二-----------------* 概述 QWeb是odoo主要模板引擎,采用xml表述,最后生成HTML文件 ...
- odoo中的QWeb模板引擎
* 概述 QWeb是odoo主要模板引擎,采用xml表述,最后生成HTML文件 * 一般用法 #条件表达式 <t t-if="record.effort_estimate. ...
随机推荐
- ORACLE——存储过程
存储过程procedure 被内容来自<oracle从入门到精通——明日科技>一书 存储过程是一种命名的PL/SQL程序快,存储过程被保存在数据库中,它不可以被SQL语句直接执行或调用,只 ...
- JDK 1.8源码阅读 HashSet
一,前言 类实现Set接口,由哈希表支持(实际上是一个 HashMap集合).HashSet集合不能保证的迭代顺序与元素存储顺序相同.HashSet集合,采用哈希表结构存储数据,保证元素唯一性的方式依 ...
- CentOS 7 下使用yum安装MySQL5.7.20
CentOS7默认数据库是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默认好像是没有mysql的. 上一篇安装的是5.6的但是我想安装5.7的 yum安装是最简单 ...
- python列表常用内建方法
python列表常用内建方法: abc = ['a',1,3,'a'] #abc.pop(1) #删除索引1的值.结果['a', 3] #abc.append([123]) #结果:['a', 1, ...
- php实现微信网页授权回调代理
一个简单的php文件,实现微信网页授权回调域名的代理转发 <?php function is_HTTPS() { if (!isset($_SERVER['HTTPS'])) return F ...
- [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器
截至自2017-08-11,支持现世已出的几乎所有PC端浏览器版本判断. 受支持的PC端浏览器列表: Edge IE Chrome Firefox Opera Safari QQ浏览器 360系列浏览 ...
- 分配swap分区
1.free命令 用来查看swap分区的使用情况[root@localhost ~]#free#查看内存与swap分区使用状况◆cached(缓存):是指把读取出来的数据保存在内存当中,当再次 读取时 ...
- DataTable插件 后台分页 (服务器端分页)
<script type="text/javascript"> var persontable; var personQueryCondition = { ...
- dva构建react项目
第一步:安装 dva-cli 1 cnpm install dva-cli -g 第二步:采用dva来创建项目: 1 dva new react_two 2 cd react_two 用webstor ...
- CAN control
2019/4/23--10:14 E_BSW_NWK_TRIGGER_SOURCE_KICK_MOTION_CMD SCI_NwkButton_GetPeriodicSignals case 6: ...