Ejs模板引擎
Ejs模板引擎
Ejs模板引擎简介
Ejs模板引擎官网:
和大多数web后端语言一样,express同样为node提供了一套模板语法,它基于node,使用方便.
- 拥有以下特性:
- 快速编译与绘制输出
- 简洁的模板标签:<% %>
- 自定义分割符(例如:用 ?> 替换 <% %>)
- 引入模板片段
- 同时支持服务器端和浏览器 JS 环境
- JavaScript 中间结果静态缓存
- 模板静态缓存
- 兼容 Express 视图系统
Ejs安装
1 |
|
实例
1 | <% if (user) { %> |
简易用法
如果你只是新建了一个js文件来使用那你需要告诉web应用服务器你用的是哪种引擎:
1 | app.set('view engine','ejs'); |
如果你想引入样式文件或者脚本文件,那你要提前设置静态目录:
1 | app.use(express.static(__dirname + '/public')); //设置静态文件目录 |
约定俗成,我们一般将模板文件放进views
文件夹,公共文件如样式和脚本文件放进public
,当然,如果你是通过express -e --ejs
方式来创建文件树结构,那么你不需要担心这些.
导航的实现
实现导航部分,即公共模板
,创建文件夹common之后创建nav.ejs,
只能有一个根标签,引入<% include ../common/nav.ejs %>
在ejs模板引擎中使用html
app.js
1 | var ejs = require('ejs'); |
::: tip
此时你的项目兼容了ejs后缀和html后缀模板 ,
如果想使用ejs文件作为模板可以带上.ejs
后缀 .
:::
更改ejs模板引擎的默认端口号
项目根目录新建
ServerConf.js
添加如下代码
1
2
3
4
5
6var ServerConf= {
ApiHost: "" //后台链接api
,ServicePort:8090
};
module.exports=ServerConf;在
app.js
中添加代码:1
2
3
4
5var ServerConf=require("./ServerConf");
//...
process.env.PORT=ServerConf.ServicePort;
在路由中通过if
判断加载不同的页面内容
1 | <% if(include_page && include_page=='news_edit_page'){ %> |
路由中操纵数据库一般用Promise
1 | new Promise((resolve,reject)=>{ |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 念一!
评论
GitalkLivere