虚拟机环境(沙箱)
比如:测试用例的时候可以使用沙箱这个干净的环境执行
内部一般情况下操作的都是字符串逻辑,如何让一个字符串运行?
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);
}
);