Nunjucks est un puissant moteur de template pour JavaScript, fortement inspiré de Jinja2 (Python). Les fichiers portant l'extension « .njk » sont des fichiers de modèle Nunjucks. Ces fichiers contiennent un mélange de HTML (ou d'autres langages de balisage), de CSS, de JavaScript et d'une syntaxe spécifique à Nunjucks. Cette syntaxe permet aux développeurs d'intégrer du contenu dynamique, tel que des variables, des boucles et des instructions conditionnelles, directement dans le modèle. Lorsque le modèle est traité par le moteur Nunjucks, ces éléments dynamiques sont évalués et remplacés par leurs valeurs correspondantes, produisant un fichier de sortie final (généralement en HTML) prêt à être servi au navigateur de l'utilisateur. Les modèles Nunjucks sont couramment utilisés dans le développement web pour générer des pages web dynamiques, des e-mails et d'autres types de contenu. Ils favorisent la réutilisation du code et la séparation des préoccupations en permettant aux développeurs de distinguer la logique de présentation de la logique applicative. Le moteur prend en charge des fonctionnalités telles que l'héritage de modèles, l'échappement automatique et les filtres personnalisés, ce qui en fait un outil polyvalent pour la création d'applications web complexes. Nunjucks est souvent utilisé avec Node.js, mais peut également être utilisé directement dans le navigateur.