EJS (Embedded JavaScript) è un linguaggio di template semplice che consente di generare markup HTML con JavaScript puro. È comunemente utilizzato negli ambienti Node.js per creare pagine web dinamiche lato server. I file EJS contengono un mix di codice HTML e JavaScript, dove il codice JavaScript è incorporato all'interno di tag speciali. Questi tag permettono di inserire dati, eseguire calcoli e controllare il flusso del processo di rendering del template. Quando un file EJS viene elaborato da un motore EJS, il codice JavaScript viene eseguito e i risultati vengono inseriti nell'HTML, producendo l'output HTML finale. EJS è noto per la sua semplicità e flessibilità, rendendolo una scelta popolare per gli sviluppatori che desiderano un modo diretto per generare contenuti dinamici. Supporta varie funzionalità come l'inclusione di template parziali, la definizione di delimitatori personalizzati e la memorizzazione nella cache dei template compilati per migliorare le prestazioni. EJS è spesso utilizzato con framework come Express.js per costruire applicazioni web.