时间:2023-06-07 08:03:01 | 来源:网站运营
时间:2023-06-07 08:03:01 来源:网站运营
Node —— 模板引擎:为了实现一个简易的BFF
实践demo,需要在 Node.js 提供基础的 SSR
能力。模板引擎
作为重要的一部分,现需要针对其进行一下技术预研。模板
,是指将一个事物的结构规律予以固定化、标准化的成果,它体现的是结构形式的标准化。 所以 HTML 模板
,大致就是要提取了一个 html 网页Dom 结构
的字符串,然后我们将获取到的数据注入到模板中,就能获得完整可展示的 HTML 文档
。模板引擎
,则是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。模板引擎
功能要求不高,不需要这种大而全的模板引擎库,其次这些库引入也需要一些学习成本,于是最后选择自行写一个建议的模板引擎。编译和运行
的 JavaScript 代码,从而一定程度上避免 xss。/** * 创建模板 * @param {string} templatePath 模板路径 * @returns {function} */function createTemplate(templatePath) { templateCache[templatePath] = vm.runInContext( `(function (data) { with (data) { return /`${fs.readFileSync(templatePath, 'utf-8')}/` } })`, templateContext, ); return templateCache[templatePath];}
const templateContext = vm.createContext({ include: function (name, data) { const template = templateCache[name] || createTemplate(name); return template(data); }});
关键词:引擎,模板