2016-10-10 54 views
2

我想从模板生成文件。例如,我有一个把手(但它可以是另一个模板)这样从Node.js中的模板写入文件

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

然后,我做一个数据库查询,并返回视图浏览器。但是现在,我不想返回视图,而是将其作为文件保存在服务器磁盘上。我该怎么做?

我尝试生成和浏览器中保存,但我想要做proccess服务器

+0

['fs.writeFile'](https://nodejs.org/api/fs.html)? – Bergi

+0

@Bergi我知道如何编写一个文件,但不知道如何从模板中编写它 –

+0

你不写* if * from *模板。您编写了一个节点程序,它读取模板,获取数据,执行替换(使用您喜欢的任何模板引擎)并写入结果。 – Bergi

回答

6

您必须手动“编译”的模板,并将结果写入各自的文件。如:

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!'); 
}); 
+0

非常感谢,它的作品! –

+0

很高兴帮助:) – notion