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