把手预编译为纯HTML

时间:2017-11-15 21:41:24

标签: node.js typescript handlebars.js

有没有办法将Handlebars模板预编译为纯HTML? Handlebars precompile生成一个js文件。我可以在节点上运行JS来生成HTML文件吗?这就是我尝试的方式:

// Get a Handlebars instance
var hb = require("handlebars");

// Load a template
import fs = require('fs');
var template:string = fs.readFileSync('templates/template.handlebars','utf8');

// Compile said template
var compiled = hb.precompile(template);

// Write JS file
fs.writeFileSync('compiled/template.js', compiled);

var test = compiled.main();

// Write HTML file
fs.writeFileSync('compiled/template.html', test);

由于compiled.main不是函数,因此失败。虽然那里有一个主要功能,我试图了解它。

1 个答案:

答案 0 :(得分:4)

找到解决方案。您不需要预编译,只需编译然后运行已编译的模板:

{{1}}

可惜它不在文档中。