将当前文件名传递到nunjuck模板中

问题描述 投票:0回答:1

是否有可能将当前文件夹名称传递到nunjuck模板中?

类似:

此文件夹名称为{{currentFolderName}}

输出:

此文件夹名称为导航

从示例路径:blahblah / components / 导航

谢谢:)

javascript nunjucks gulp-nunjucks-render
1个回答
0
投票

source可能是不明确的,例如如果使用include标签。但是,您可以将source定义为传递给render功能的模板名称。因此,直接的方法是覆盖render-环境的nunjucks方法。

// app.js
var nunjucks  = require('nunjucks');
var env = nunjucks.configure('views');

var _render = env.render;
env.render = function(name, context = {}, cb) {
    context.__filename = context.__filename || name;
    return _render.call(env, name, context, cb);
}

var html = env.render('test.html');
console.log(html);

// views/test.html
Source: {{ __filename }}

P.S。请注意,此代码可能会有副作用。

© www.soinside.com 2019 - 2024. All rights reserved.