gpt4 book ai didi

ejs - 你如何预编译 ejs 模板到文件

转载 作者:行者123 更新时间:2023-12-04 02:47:30 28 4
gpt4 key购买 nike

所以我想将 ejs 模板预编译成 .js 文件

var compiled = ejs.compile(source);
fs.writeFileSync(target, 'myTemplateFunction = ' + compiled);

但这会变成
function (locals){
return fn.call(this, locals, filters, utils.escape);
}

将 ejs 模板预编译和写入 .js 文件的最佳方法是什么

最佳答案

您可以将 templates.js 文件(手动或在代码中)创建为空模块。然后在编译模板后,将编译后的函数附加到空模块上。

var ejs = require('ejs');
var fs = require('fs');

fs.writeFileSync('./template.js', 'module.exports = { }', 'utf8');

var compiled = ejs.compile(fs.readFileSync('./example.ejs', 'utf8'));

// Add an example function to the template file that uses the compiled function
require('./template').example = compiled;

// Get the example template again (this could be in another file for example)
var output = require('./template').example;
var html = output({ id: 10, title: 'Output' });

modules are cached默认情况下,您应该能够 require('./template.js')无论您需要什么,它都会附上所有预编译的模板。

关于ejs - 你如何预编译 ejs 模板到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11589108/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com