2016-05-02 20 views
0

私はシェルスクリプトを書いています。私は変数をjsonファイルに保存してテンプレートを使用したいと思います。nunjucksを使った基本テンプレート

私はjavascriptの初心者ですので、テンプレートをレンダリングするためにnunjucksを使用する方法が不足しているようです。この簡単な例がうまくいくように助けてくれますか?

これは私の現在の試みです。以下の内容で

​​

そしてindex.js

var nunjucks = require('nunjucks') 
nunjucks.configure({ autoescape: true }); 
nunjucks.render('sample.njk', { data: 'James' }); 

$ npm install nunjucks 

私は次の内容のsample.njkを作成します。私のプロジェクトのディレクトリで

(私はnpmがインストールされています)

私のプロジェクトディレクトリ、look以下のように:私は

$ node index.js 

としてノードでindex.jsを実行

index.js node_modules/ sample.njk 

私は(コマンドラインに、または新しいファイルに)出力にそれを取得するにはどうすればよい:

James 

後テンプレートを処理していますか?

私はgulp-nunjucksとgulp-nujucks-renderを見てみましたが、あまりにも多くのことが起こっています。ここでは簡単な作業もできません。

私のデータをjsonファイルで定義するとき、私は単にnunjucks.render()関数のコンテキストとして渡す必要があります。

ありがとうございました。

+1

nunjucks.renderはおそらくこれだけ 'VARデータ= nunjucks.render(...)を使用してレンダリングされた文字列を返します;' 'または;'と 'にconsole.log(データ) fs.writeFile( '/ path/to/file.html'、data、function(){}) ' – Molda

答えて

1

Nunjによって出力されたデータで達成しようとしていることに依存します。単純に端末に印刷したい場合は、単純なconsole.log();が動作します。

Expressでは、res.renderは、任意の3番目のパラメータ、つまりfnをとります。あなたはそのように行うだろう:

var nunjucks = require('nunjucks'); 
nunjucks.configure({ autoescape: true }); 
nunjucks.render('sample.njk', { data: 'James' }, function (err, output) { 

    // If there's an error during rendering, early return w/o further processing 
    if (err) { 
     return; 
    } 

    // The render fn calls the passed-in fn with output as a string 
    // You can do whatever you'd like with that string here 
    console.log(output); 

}); 
関連する問題