我正在编写一个shell脚本,并希望通过将其变量保存在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()函数,对吗?

谢谢你的帮助。

最佳答案

取决于您要使用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);

});

08-17 06:41