En el desarrollo web, hay muchas herramientas disponibles para que los desarrolladores elijan. Elegir las herramientas y tecnologías adecuadas puede tener un impacto significativo en la eficiencia y funcionalidad de los proyectos. Una de las herramientas populares en el desarrollo web es EJS, que significa Embedded. javascript . EJS es un lenguaje de plantillas JavaScript simple que genera HTML con JavaScript simple. En este artículo, cubriremos qué es EJS, por qué es necesario, sus características, cómo instalarlo y brindaremos un ejemplo con resultados.
¿Qué es EJS?
EJS o JavaScript integrado es un motor de plantillas para JavaScript que se utiliza para el desarrollo web y que permite a los usuarios generar marcado HTML dinámico utilizando código JavaScript dentro de plantillas HTML. Está diseñado para simplificar el proceso de representación de contenido dinámico en aplicaciones web. Contiene una combinación de HTML y JavaScript que facilita la generación de contenido dinámico basado en datos de su aplicación.
Características de EJS
- Sintaxis sencilla: EJS ofrece una sintaxis sencilla que combina HTML y JavaScript, lo que facilita su aprendizaje y uso.
- Contenido dinámico: EJS permite la generación dinámica de contenido HTML y JavaScript dentro de etiquetas HTML, lo que mejora la flexibilidad en la creación de contenido.
- Diseño y Parciales: EJS admite diseños y parciales, lo que permite a los usuarios dividir las plantillas en componentes reutilizables, reduciendo la duplicación de código y mejorando la mantenibilidad.
- Manejo de errores: EJS proporciona mensajes de error que ayudan a los desarrolladores a depurar, mejorando la experiencia de desarrollo general.
¿Por qué necesita EJS?
- Generación HTML dinámica: EJS le permite generar contenido HTML dinámico basado en variables, condiciones, bucles y otra lógica de JavaScript. Esto es particularmente útil para representar datos dinámicos obtenidos de bases de datos o API.
- Reutilización del código: Al utilizar plantillas EJS, puede crear componentes o parciales reutilizables que se pueden incluir en varias páginas. Esto promueve la modularidad del código y reduce la duplicación en sus aplicaciones web.
- Representación del lado del servidor: Con EJS, puede realizar renderizado del lado del servidor (SSR) de páginas web. SSR es beneficioso para SEO (optimización de motores de búsqueda), ya que permite a los motores de búsqueda rastrear e indexar su contenido de manera más efectiva en comparación con la representación del lado del cliente (CSR) realizada por marcos como React o Angular.
- Fácil integración con Node.js y Express.js: EJS se integra perfectamente con Node.js y Express.js, lo que lo convierte en una opción popular para los desarrolladores que trabajan en aplicaciones JavaScript del lado del servidor. Es fácil de configurar y usar dentro de un proyecto Express.js.
- Sintaxis familiar: Si ya está familiarizado con HTML y JavaScript, aprender y utilizar EJS es sencillo. La sintaxis es similar a HTML con código JavaScript incrustado encerrado en
>etiquetas, haciéndolo accesible a desarrolladores de diferentes niveles de habilidad. - Herencia de plantillas y diseños: EJS admite diseños y herencia de plantillas, lo que le permite crear diseños consistentes para sus páginas web. Puede definir un diseño base y ampliarlo en otras plantillas, lo que facilita mantener una apariencia coherente en toda su aplicación.
¿Cómo utilizar EJS?
Paso 1: Instale EJS como una dependencia en su proyecto
npm install ejs>
Paso 2: Cree una carpeta de 'vistas' en el directorio de su proyecto si aún no existe. Dentro de la carpeta de vistas, cree un nuevo archivo con una extensión .ejs, por ejemplo, index.ejs.
Paso 3: Para integrar EJS con Express en una aplicación Express.js, configure EJS como motor de visualización en la configuración de su aplicación Express. Esta configuración permite a Express utilizar EJS para representar vistas.
app.set('view engine', 'ejs');>Etapa 4: Renderizar plantilla EJS. En sus controladores de ruta Express renderizamos la plantilla EJS usando 'res.render()' y proporcionar los datos necesarios para pasar a la plantilla.
res.render('hello', { name: 'Geeks' });>Estructura del proyecto:

Las dependencias actualizadas en paquete.json El archivo se verá así:
'dependencies': { 'ejs': '^3.1.9', 'express': '^4.18.2' }>Ejemplo: Implementación para mostrar el uso de ejs con un ejemplo.
HTML Título de ejemplo de EJS> encabezado> Hola,<%= name %>!h1> cuerpo> html>>
javascript // index.js const express = require('express'); const app = express(); const port = 3000; app.set('view engine', 'ejs'); app.get('/', (req, res) =>{ res.render('hola', { nombre: 'Geeks' }); }); app.listen(port, () => { console.log(`El servidor se está ejecutando en http://localhost:${port}`); });> Paso para ejecutar la aplicación: Ejecute la aplicación usando el siguiente comando desde el directorio raíz del proyecto
node index.js>
Producción: Su proyecto se mostrará en la URL http://localhost:3000/
