前端模板Nunjucks简介

参考资料: https://mozilla.github.io/nunjucks/

https://mozilla.github.io/nunjucks/templating.html

https://mozilla.github.io/nunjucks/api.html

常用API

render

nunjucks.render(name, [context], [callback])

var res = nunjucks.render('foo.html');
var res = nunjucks.render('foo.html', { username: 'James' });    
nunjucks.render('async.html', function(err, res) {
});

renderString

nunjucks.renderString(str, context, [callback]) 返回渲染后的原始字符串。

var res = nunjucks.renderString('Hello {{ username }}', { username: 'James' });     //输出 Hello James

configure

nunjucks.configure([path], [opts]); path 默认当前路径,模板文件所在的路径。

nunjucks.configure('views', {       //views为模板文件所在的目录
    autoescape: true,
    express: app,
    watch: true
});

getTemplate

env.getTemplate(name, [eagerCompile], [callback]) Retrieve the template named name

var tmpl = env.getTemplate('page.html', true);          //返回模板文件 page.html 的内容

express

env.express(app) 用做服务端渲染

var app = express();
env.express(app);

app.get('/', function(req, res) {
    res.render('index.html');
});

constructor

new Template(src, [env], [path], [eagerCompile])

var tmpl = new nunjucks.Template('Hello {{ username }}');
tmpl.render({ username: "James" }); // -> "Hello James"

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注