0

私はシェル スクリプトを作成しており、変数を json ファイルに保存してテンプレートを使用したいと考えています。

私は JavaScript の初心者なので、テンプレートをレンダリングするために nunjucks を使用する方法がわかりません。この簡単な例を機能させるのを手伝ってもらえますか?

これが私の現在の試みです。(私はnpmインストールしました)

私のプロジェクトディレクトリで:

$ npm install nunjucks

sample.njk以下の内容で作成しています。

{{ data }}

そしてindex.js、次の内容で:

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

私のプロジェクトディレクトリは次のようになります:

index.js  node_modules/  sample.njk

index.jsノードを次のように実行します

$ node index.js

出力するにはどうすればよいですか (コマンドラインまたは新しいファイルに):

James

テンプレートを処理した後?

gulp-nunjucks と gulp-nujucks-render を調べてみましたが、あまりにも多くのことが行われており、ここで簡単なタスクを達成することさえできません。

json ファイルでデータを定義するときは、それを関数内のコンテキストとして渡すだけで済みますnunjucks.render()よね?

ご協力いただきありがとうございます。

4

1 に答える 1

2

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);

});
于 2016-10-27T13:54:42.667 に答える