• MVC中的V视图-ejs模板引擎的使用


    Template Engine是一个从页面模板(html页面模板)根据一定的规则(插入可执行的代码)生成(运行时动态生成)HTML的工具。

    在MVC架构中,模板引擎包含在服务器端,控制器(Express即C)得到用户请求后,从模型(M)获取数据,调用模板请求(ejs)。模板请求(ejs)以数据(模型M)和页面模板(ejs视图V)为输入,生成HTML页面,然后返回给控制器(Express即C),由Express控制器交回给客户端。

    在app.js中通过以下语句设置了模板引擎和页面模板的位置:

    var path = require(‘path’);

    //view engine setup

    app.set('views', path.join(__dirname, 'views'));

    app.set('view engine', 'ejs');

    表明要使用的模板引擎是ejs,页面模板在views子目录下。在routes/index.js的module.exports = router函数中通过如下语句调用模板引擎:

    res.render('index', {title: 'Express'});

    render的功能是调用模板引擎,并将其产生的页面直接返回给客户端。它接受两个参数,第一个是模板的名称,即views目录下的模板文件名,不包含文件的扩展名;第二个参数是传递给模板的数据,用于模板翻译。

    <h1><%= title %></h1>
    <p>Welcome to <%= title %></p>

    上面代码中有两处<%= title %>,用于模板变量显示,它们在模板翻译时会被替换成Express,因为res.render传递了{title: 'Express'}。

    ejs的标签系统非常简单,它只有以下三种标签。

    <% code %>:JavaScript代码。

    <%= code %>显示替换过HTML特殊字符的内容。

    <%- code %>显示原始HTML内容。

    我们可以用他们来实现页面模板系统能实现的任何内容。

  • 相关阅读:
    opencv3.2.0形态学滤波之腐蚀
    Ubuntu下卸载QT5.7.1再重装
    opencv3.2.0形态学滤波之膨胀
    Direct3D中的绘制
    绘制流水线
    初始化Direct3D
    VS2012添加对DirectX SDK中需要文件的引用
    ASCII,Unicode 和通用方式
    对话框访问的7种方式【孙鑫老师教程】
    函数指针
  • 原文地址:https://www.cnblogs.com/nodejsxxh/p/4358664.html
Copyright © 2020-2023  润新知