是否有可能将当前文件夹名称传递给 nunjuck 模板?
就像是:
此文件夹名称为 {{currentFolderName}}
输出:
此文件夹名称是导航
示例来自路径:blahblah/components/ navigation
谢谢 :)
是否有可能将当前文件夹名称传递给 nunjuck 模板?
就像是:
此文件夹名称为 {{currentFolderName}}
输出:
此文件夹名称是导航
示例来自路径:blahblah/components/ navigation
谢谢 :)
source
例如,如果您使用include
-tag ,则可能会模棱两可。尽管如此,您可以定义source
传递给render
-function 的模板名称。所以直接的方法是覆盖-environmentrender
的 -method 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 }}
PS 请注意,此代码可能有副作用。