2016-10-10 52 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