Javascript 将当前文件名传入nunjuck模板

Javascript 将当前文件名传入nunjuck模板,javascript,nunjucks,gulp-nunjucks-render,Javascript,Nunjucks,Gulp Nunjucks Render,是否有可能将当前文件夹名传递给nunjuck模板 比如: 此文件夹名为{currentFolderName}} 输出: 此文件夹名为“导航” 从exmpl的路径:blahblah/components/导航 谢谢:)如果使用include-tag,则源代码可能不明确。但是,您可以将源定义为传递给呈现-函数的模板名称。所以简单的方法是覆盖渲染-nunjucks-环境的方法 // app.js var nunjucks = require('nunjucks'); var env = nunjuc

是否有可能将当前文件夹名传递给nunjuck模板

比如:

此文件夹名为{currentFolderName}}

输出:

此文件夹名为“导航”

从exmpl的路径:blahblah/components/导航


谢谢:)

如果使用
include
-tag,则
源代码可能不明确。但是,您可以将
定义为传递给
呈现
-函数的模板名称。所以简单的方法是覆盖
渲染
-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 }}
注意,这个代码可能有副作用