zoukankan      html  css  js  c++  java
  • 【js】ejs

    什么是ejs

    "E" 代表 "effective",即【高效】。EJS 是一套简单的模板语言,帮你利用普通的 JavaScript 代码生成 HTML 页面。EJS 没有如何组织内容的教条;也没有再造一套迭代和控制流语法;有的只是普通的 JavaScript 代码而已。

    特点

    • 快速编译与绘制输出
    • 简洁的模板标签:<% %>
    • 自定义分割符(例如:用 <? ?> 替换 <% %>)
    • 引入模板片段
    • 同时支持服务器端和浏览器 JS 环境
    • JavaScript 中间结果静态缓存
    • 模板静态缓存
    • 兼容 Express 视图系统

    ejs的使用

    1、使用npm安装ejs

    $ npm install ejs

    2、新建index.ejs

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title><%= title %></title>
    </head>
    <body>
        <%= index %>
    </body>
    </html>

     3、引入ejs模块

    const ejs = require('ejs');
    

    4、渲染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);

     5、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
        });
    });

     6、语法

    • <% :'脚本' 标签,用于流程控制,无输出
    • %> :一般结束标签
    • <%= :输出数据到模板(输出是转义 HTML 标签)
    • <%- :输出非转义的数据到模板

    相关资料:

  • 相关阅读:
    python 包管理工具 pip 的配置
    Python 变量作用域 LEGB (下)—— Enclosing function locals
    Python 变量作用域 LEGB (上)—— Local,Global,Builtin
    2020 Java 面试题 小结 (答案慢慢补上,有错误请指出)
    mysql 根据日期(date)做年,月,日分组统计查询
    jvm指令
    正则表达式 分割地址 获取省市区详细地址
    .Net 异常记录
    WCF设计服务协议(一)
    plsql ORA-01789:查询块具有不正确的结果列数
  • 原文地址:https://www.cnblogs.com/websmile/p/12993668.html
Copyright © 2011-2022 走看看