从Node.js中的模板写入文件

时间:2016-10-10 16:39:49

标签: javascript node.js

我想从模板生成文件。例如,我有一个把手(但它可以是另一个模板),就像这样

<div class="entry">
  <h1>{{title}}</h1>
  <div class="body">
    {{body}}
  </div>
</div>

然后,我对数据库进行查询,并将视图返回给浏览器。但是现在,我不希望返回视图,而是将其保存为服务器磁盘上的文件。我该怎么办?

我尝试从浏览器生成并保存,但我想在服务器中执行proccess

1 个答案:

答案 0 :(得分:10)

您必须手动“编译”模板并将结果写入相应的文件中。像:

const fs = require('fs');
const Handlebars = require('handlebars');

const source = '<div>{{title}}</div>';
const template = Handlebars.compile(source);

const contents = template({title: 'Wohooo!'});

fs.writeFile('contents.html', contents, err => {
    if (err) {
        return console.error(`Autsch! Failed to store template: ${err.message}.`);
    }

    console.log(`Saved template!');
});