我正在编写一个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);
});