33 # 基本模板引擎

虚拟机环境(沙箱)

比如:测试用例的时候可以使用沙箱这个干净的环境执行

内部一般情况下操作的都是字符串逻辑,如何让一个字符串运行?

1、使用 eval,默认会取当前的作用域下的变量,这是个不干净的环境

const a = 100;
eval("console.log('a---->', a)");

在这里插入图片描述

2、使用 new Function 来创建一个沙箱环境,让字符串执行

const b = 200;
let fn = new Function("c", "d", "e", "console.log('b---->', b)");
console.log(fn.toString());
fn();

在这里插入图片描述

ejs 模块渲染

npm install ejs

在这里插入图片描述

新建一个模板

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div>
        <%=name%>
    </div>
    <div>
        <%=age%>
    </div>
    <ul>
        <%arr.forEach(item=> {%>
            <li>
                <%=item%>
            </li>
            <%})%>
    </ul>
</body>

</html>

然后使用模板

const ejs = require("ejs");
const path = require("path");

ejs.renderFile(
    path.resolve(__dirname, "../file/template.html"),
    {
    
     name: "kaimo", age: "313", arr: [1, 2, 3] },
    (err, data) => {
    
    
        console.log(data);
    }
);

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/kaimo313/article/details/131144511
33
今日推荐