0

當接入範圍根據Nunjucks documentationNunjucks /金賈 - 替代爲`include`需要

一個包括不是預處理器拉動包含的模板代碼到渲染之前,包括模板;相反,它引發了包含模板的單獨呈現,並且包含了該呈現的結果。

如果你真的想要一個「預處理器渲染前拉包含的模板代碼到包括模板」,是什麼將是Nunjucks /神社?


實際例子是:二諧音具有相同的變量是set。我們決定幹起來,將這些set聲明放入一個部分中,並通過include請求聲明。當使用include這些變量超出範圍。

局部config.nunjucks:

{% set var = 'x' %} 

partial1.nunjucks:

{% include "partial-config.nunjucks" %} 
var={{ var }} 

partial2.nunjucks:

{% include "partial-config.nunjucks" %} 
var={{ var }} 

挑戰:上面部分中的變量var是空白的。我希望它在渲染前設置在每個局部範圍內,就像它只是字符串代碼段一樣,不需要額外的範圍等。

回答

1

也許這是不可能的,因爲首先渲染主模板,然後在include之後。也許我錯了。

在任何情況下,您可以使用custom loader,「定義」您自己的標籤,例如config,用法如{% config "filename.njk" %}。加載器必須找到config -tag並將其替換爲filename.njk並傳遞模板以進行下一個渲染。

+0

用自定義裝載機的好主意! – revelt