与nunjucks

时间:2016-05-02 01:03:26

标签: javascript node.js templating nunjucks

我正在编写一个shell脚本,并希望通过将我的变量保存在json文件中来使用它。

我是javascript的初学者,因此似乎无法掌握如何使用nunjuck来渲染我的模板。能帮我把这个简单的例子用来工作吗?

这是我目前的尝试。 (我已安装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()函数中的上下文传递,对吧?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

取决于您尝试使用Nunj渲染输出的数据完成的任务。如果您只想将其打印到终端,则可以使用简单的console.log();

在Express中,res.render采用可选的第三个参数,即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);

});