Node.js 手柄已预编译为普通HTML

Node.js 手柄已预编译为普通HTML,node.js,typescript,handlebars.js,Node.js,Typescript,Handlebars.js,有没有办法将把手模板预编译为纯HTML?Handlebar预编译生成一个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

有没有办法将把手模板预编译为纯HTML?Handlebar预编译生成一个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不是函数。不过,这里有一个主要的功能,我正试图了解它

找到了解决办法。您不需要预编译,只需编译并运行已编译的模板:

// 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.compile(template);
var html = compiled({});

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

可惜文件里没有

那么请接受你的回答:)谢谢你的分享,我会的,但明天才能!文档确实令人困惑,我希望对车把工作原理有深入了解的人能够帮助我更新更多细节。