0

我正在编写一个 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()函数中的上下文传递,对吗?

谢谢你的帮助。

4

1 回答 1

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

});
于 2016-10-27T13:54:42.667 回答