Nunjucks 是一个功能强大的 JavaScript 模板引擎(templating engine),它深受 Jinja2(Python)的启发。使用 .njk 扩展名的文件是 Nunjucks 模板文件。这些文件混合了 HTML(或其他标记语言)、CSS、JavaScript 以及 Nunjucks 特定的语法。这种语法允许开发人员将动态内容,例如变量(variables)、循环(loops)和条件语句(conditional statements),直接嵌入到模板中。当 Nunjucks 引擎处理(processed)该模板时,这些动态元素会被评估(evaluated)并替换为相应的值,从而生成一个最终的输出文件(通常是 HTML),该文件可以直接提供给用户的浏览器。Nunjucks 模板通常用于 Web 开发中,以生成动态网页、电子邮件和其他类型的内容。通过将表示逻辑(presentation logic)与应用程序逻辑(application logic)分离,它促进了代码重用性(code reusability)和关注点分离(separation of concerns)。该引擎支持模板继承(template inheritance)、自动转义(auto-escaping)和自定义过滤器(custom filters)等功能,使其成为构建复杂 Web 应用程序的多功能工具。Nunjucks 经常与 Node.js 配合使用,但也可以在浏览器端使用。