模板引擎ejs

2019-08-09  本文已影响0人  不算程序员

ejs模板引擎
将数据与标签分离开来,这样就不需要前面写的学生管理系统那样,在页面显示信息通过字符串的拼接的方式,而是直接用ejs模板引擎,将服务器端传过来的数据在页面直接显示出来,不会那样的麻烦了。
安装 npm i -D ejs
引入 app.set('view engine',"ejs")

const http = require('http');
 渲染 : http.createServer((req, res) => {
    if (req.url === '/') {
        res.writeHead(200, {
            'Content-Type': 'text/html' 
        });
        // 渲染文件 index.ejs
        ejs.renderFile('./views/index.ejs', {
            title: 'ejs-index', // 渲染的数据key: 对应到了ejs中的title
            index: '首页'}, // 渲染的数据key: 对应到了ejs中的index
            (err, data) => {
            if (err ) {
                console.log(err);
            } else {
                console.log(data);
                res.end(data);
            }
        })
    }
}).listen(3002);
渲染ejs文件内同 : ```res.render("ejs文件名")```
语法:“
ejs声明变量 - - -> <% var a = 10; %>
ejs输入变量 - - -> <%= a %>
ejs引入其他文件 - - -> <% include 文件的地址 %>
<%_ 删除其前面的空格符
<%= 输出数据到模板(输出是转义 HTML 标签)
<%- 输出非转义的数据到模板
<%# 注释标签,不执行、不输出内容
<%% 输出字符串 '<%'
 %> 一般结束标签
 -%> 删除紧随其后的换行符
 _%> 将结束标签后面的空格符删除”
koa使用ejs
配置koa-views
```
const koaViews = require('koa-views');

// 配置渲染文件路径 及文件后缀
app.use(koaViews('./views', {
    extension: 'ejs'
}));
```

// 响应路由渲染文件
```
router.get('/', async ctx => {
    await ctx.render('index', {
        title: 'ejs-index', // 渲染的数据key: 对应到了ejs中的title
        index: '首页'}, // 渲染的数据key: 对应到了ejs中的index
    });
});
```
上一篇下一篇

猜你喜欢

热点阅读