0

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

就像是:

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

输出:

此文件夹名称是导航

示例来自路径:blahblah/components/ navigation

谢谢 :)

4

1 回答 1

0

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 请注意,此代码可能有副作用。

于 2019-12-24T16:01:55.423 回答