{"id":72612,"date":"2023-12-18T17:22:34","date_gmt":"2023-12-18T16:22:34","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=72612&#038;preview=true&#038;preview_id=72612"},"modified":"2023-12-19T16:56:35","modified_gmt":"2023-12-19T15:56:35","slug":"crea-aplicacion-express","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/","title":{"rendered":"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express"},"content":{"rendered":"<p>Express, el framework <a href=\"https:\/\/github.com\/VanoDevium\/node-framework-stars\" target=\"_blank\" rel=\"noopener noreferrer\">Node.js m\u00e1s utilizado<\/a> del mundo, permite a los desarrolladores crear servidores web backend con JavaScript. Este framework proporciona la mayor parte de lo que necesitan los desarrolladores de backend, simplificando el enrutamiento y la respuesta a las solicitudes web.<\/p>\n<p>Ya tenemos una gu\u00eda sobre <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-express\/\">todo lo que debes saber sobre Express.js<\/a>, as\u00ed que este art\u00edculo pr\u00e1ctico te mostrar\u00e1 c\u00f3mo utilizarlo. Este tutorial explica c\u00f3mo crear y desplegar una aplicaci\u00f3n <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\">Node.js<\/a> de ejemplo utilizando Express.js.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>C\u00f3mo Crear Aplicaciones R\u00e1pidamente con Express.js<\/h2>\n<p>Este tutorial muestra c\u00f3mo crear una aplicaci\u00f3n web que recibe peticiones a un endpoint, utiliza un par\u00e1metro de la petici\u00f3n para hacer una llamada a la base de datos y devuelve informaci\u00f3n de la base de datos como JSON.<\/p>\n<h3>Requisitos Previos<\/h3>\n<p>Para seguir este tutorial, aseg\u00farate de que tienes instalado lo siguiente en tu ordenador:<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/es\/blog\/como-instalar-node-js\/\">Node.js y Node Package Manager<\/a> (npm) \u2014 Entorno de tiempo de ejecuci\u00f3n y gestor de paquetes esenciales para JavaScript.<\/li>\n<li><a href=\"https:\/\/kinsta.com\/es\/blog\/instalar-git\/\" target=\"_blank\" rel=\"noopener noreferrer\">Git<\/a> \u2014 Sistema distribuido de control de versiones que facilita el desarrollo colaborativo de software.<\/li>\n<\/ul>\n<h2>Generador de Aplicaciones Express<\/h2>\n<p>Puedes a\u00f1adir Express a aplicaciones Node existentes siguiendo el proceso descrito en nuestra <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-express\/#how-to-create-an-expressjs-app\">gu\u00eda Express.js<\/a>, pero si empiezas desde cero, hay una opci\u00f3n a\u00fan m\u00e1s r\u00e1pida: el <a href=\"https:\/\/expressjs.com\/en\/starter\/generator.html\">generador Express<\/a>.<\/p>\n<p>El generador Express oficial de Express.js es un paquete de Node que te permite generar un nuevo esqueleto de aplicaci\u00f3n. Para ello, primero crea una carpeta para tu aplicaci\u00f3n y luego ejecuta el comando <code>npx<\/code> (disponible en Node.js 8.2.0):<\/p>\n<pre><code class=\"language-bash\">mkdir express-application\nnpx express-generator<\/code><\/pre>\n<p>Una vez generada con \u00e9xito, el terminal muestra una lista de las carpetas\/archivos creados y los comandos para instalar las dependencias y ejecutar la aplicaci\u00f3n. Instala las dependencias ejecutando el siguiente comando:<\/p>\n<pre><code class=\"language-bash\">npm install<\/code><\/pre>\n<p>A continuaci\u00f3n, inicia tu servidor web:<\/p>\n<pre><code class=\"language-bash\">DEBUG=myapp:* npm start<\/code><\/pre>\n<p>La aplicaci\u00f3n esqueleto tiene una ruta ra\u00edz preconstruida que muestra una p\u00e1gina de inicio b\u00e1sica. Puedes verla en tu navegador visitando <code>localhost:3000<\/code>.<\/p>\n<h3>Explorar el Esqueleto de la Aplicaci\u00f3n Express<\/h3>\n<p>Cuando abras tu aplicaci\u00f3n Express en tu editor de c\u00f3digo preferido, encontrar\u00e1s una estructura b\u00e1sica que forma la columna vertebral de tu aplicaci\u00f3n web.<\/p>\n<pre><code class=\"language-bash\">\/\n|-- \/node_modules\n|-- \/public\n|-- \/routes\n    |-- index.js\n    |-- users.js\n|-- \/views\n    |-- error.jade\n    |-- index.jade\n    |-- layout.jade\n|-- app.js\n|-- package.json<\/code><\/pre>\n<ul>\n<li><strong>node_modules:<\/strong> Este directorio almacena todas las dependencias y librer\u00edas instaladas para el proyecto.<\/li>\n<li><strong>public:<\/strong> Contiene activos est\u00e1ticos como CSS, JavaScript, im\u00e1genes, etc. Estos archivos se sirven directamente al navegador del cliente.<\/li>\n<li><strong>routes:<\/strong> Contiene los archivos responsables de definir varias rutas y gestionar las peticiones procedentes de diferentes URL.<\/li>\n<li><strong>views:<\/strong> Contiene plantillas o vistas que el servidor renderiza para crear la interfaz de usuario. Aqu\u00ed, <strong>error.jade<\/strong>, <strong>index.jade<\/strong> y <strong>layout.jade<\/strong> son plantillas escritas en el lenguaje de plantillas Jade. Ayudan a estructurar y mostrar contenido din\u00e1mico a los usuarios.<\/li>\n<li><strong>app.js:<\/strong> Este archivo suele servir como punto de entrada para la aplicaci\u00f3n Express. Es donde se configura el servidor, se establece el middleware, se definen las rutas y se gestionan las peticiones y respuestas.<\/li>\n<li><strong>package.json:<\/strong> Este archivo contiene metadatos sobre la aplicaci\u00f3n. Ayuda a gestionar las dependencias y la configuraci\u00f3n del proyecto.<\/li>\n<\/ul>\n<h3>Comprendiendo la Gesti\u00f3n de Rutas<\/h3>\n<p>En tu aplicaci\u00f3n Express, el directorio <strong>routes<\/strong> es donde se definen las rutas como archivos independientes. La ruta principal, a menudo llamada ruta ra\u00edz, reside en el archivo <strong>routes\/index.js<\/strong>.<\/p>\n<p>Esta ruta ra\u00edz se encarga de una solicitud <code>GET<\/code>, respondiendo con una p\u00e1gina web generada en HTML por el framework. A continuaci\u00f3n se muestra un fragmento de c\u00f3digo que ilustra c\u00f3mo se maneja una solicitud <code>GET<\/code> para renderizar una p\u00e1gina de bienvenida b\u00e1sica:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\n\n\/* GET home page. *\/\nrouter.get('\/', function(req, res, next) {\n res.render('index', { title: 'Express' });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Si modificas la funci\u00f3n <code><a href=\"https:\/\/expressjs.com\/en\/api.html#res.render\" target=\"_blank\" rel=\"noopener noreferrer\">res.render()<\/a><\/code> por <code><a href=\"https:\/\/expressjs.com\/en\/api.html#res.send\" target=\"_blank\" rel=\"noopener noreferrer\">res.send()<\/a><\/code>el tipo de respuesta cambia de HTML a JSON:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\n\nrouter.get('\/', function(req, res, next) {\n  res.send({ key: 'value' });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Ampliando las capacidades, se a\u00f1ade otra ruta al mismo archivo, introduciendo un nuevo endpoint que acepta un par\u00e1metro. Este fragmento de c\u00f3digo demuestra c\u00f3mo tu aplicaci\u00f3n puede gestionar el tr\u00e1fico en un endpoint diferente, extraer un par\u00e1metro y responder con su valor en JSON:<\/p>\n<pre><code class=\"language-javascript\">\/* GET a new resource *\/\nrouter.get('\/newEndpoint', function(req, res, next) {\n  res.send({ yourParam: req.query.someParam });\n});<\/code><\/pre>\n<p>El env\u00edo de una solicitud <code>GET<\/code> a <code>localhost:3000\/newEndpoint?someParam=whatever<\/code> producir\u00e1 una salida JSON que contendr\u00e1 la cadena \u00abwhatever\u00bb.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/sending-get-request-postman.png\" alt=\"Se realiza una solicitud GET a la aplicaci\u00f3n que se ejecuta localmente en Postman.\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Se realiza una solicitud GET a la aplicaci\u00f3n que se ejecuta localmente en Postman.<\/figcaption><\/figure>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Es esencial reiniciar el servidor web para aplicar los nuevos cambios de forma efectiva.<\/p>\n<\/aside>\n\n<h2>Alojamiento de Aplicaciones Express y Kinsta<\/h2>\n<p>Hacer peticiones web de tu ordenador a tu ordenador est\u00e1 muy bien, pero el desarrollo web no est\u00e1 completo hasta que no est\u00e1s fuera de localhost. Afortunadamente, Kinsta facilita el despliegue de aplicaciones en la web, incluso si necesitas una base de datos.<\/p>\n<p>Ahora, vamos a profundizar en la ampliaci\u00f3n de las capacidades de tu aplicaci\u00f3n integrando la funcionalidad de la base de datos y desplegando tanto la aplicaci\u00f3n como la base de datos en la web, permitiendo el acceso desde cualquier ordenador.<\/p>\n<p>Antes de desplegar tu aplicaci\u00f3n Express en el<a href=\"https:\/\/sevalla.com\/application-hosting\/\"> Alojamiento de Aplicaciones de Kinsta<\/a>, es crucial que <a href=\"https:\/\/kinsta.com\/es\/blog\/como-enviar-codigo-a-github\/\">env\u00edes el c\u00f3digo y los archivos de tu aplicaci\u00f3n<\/a> al proveedor Git que hayas elegido <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">(Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> o <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>). Aseg\u00farate de crear un archivo <strong>.gitignore<\/strong> en el directorio ra\u00edz de tu aplicaci\u00f3n e incluye <code>node_modules<\/code> para evitar enviar estos archivos a tu proveedor de Git.<\/p>\n<p>Una vez configurado tu repositorio, sigue estos pasos para desplegar tu aplicaci\u00f3n Express en Kinsta:<\/p>\n<ol start=\"1\">\n<li>Inicia sesi\u00f3n o crea una cuenta para ver tu panel <a href=\"https:\/\/my.kinsta.com\/?lang=es\" target=\"_blank\" rel=\"noopener noreferrer\">MyKinsta<\/a>.<\/li>\n<li>Autoriza a Kinsta con tu proveedor Git.<\/li>\n<li>Haz clic en <strong>Aplicaciones<\/strong> en la barra lateral izquierda, y luego en <strong>A\u00f1adir aplicaci\u00f3n<\/strong>.<\/li>\n<li>Selecciona el repositorio y la rama desde la que deseas desplegar.<\/li>\n<li>Asigna un nombre \u00fanico a tu aplicaci\u00f3n y elige una <strong>Ubicaci\u00f3n para el centro de datos<\/strong>.<\/li>\n<li>A continuaci\u00f3n, configura tu entorno de construcci\u00f3n. Selecciona la configuraci\u00f3n de <strong>M\u00e1quina de construcci\u00f3n est\u00e1ndar<\/strong> con la opci\u00f3n <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/nixpacks\">Nixpacks<\/a> recomendada para esta demo.<\/li>\n<li>Utiliza todas las configuraciones por defecto y luego haz clic en <strong>Crear aplicaci\u00f3n<\/strong>.<\/li>\n<\/ol>\n<p>\u00a1Kinsta funciona con el generador de aplicaciones Express desde el principio! Una vez que completes estos pasos, tu aplicaci\u00f3n comenzar\u00e1 autom\u00e1ticamente el proceso de construcci\u00f3n y despliegue.<\/p>\n<p>La pantalla de despliegue te proporcionar\u00e1 una URL donde Kinsta desplegar\u00e1 tu aplicaci\u00f3n. Puedes a\u00f1adir <code>\/newEndpoint?someParam=whatever<\/code> para probar el endpoint construido en la secci\u00f3n anterior de este art\u00edculo.<\/p>\n<h2>C\u00f3mo A\u00f1adir una Base de Datos a una Aplicaci\u00f3n Express<\/h2>\n<p>Para la mayor\u00eda de las aplicaciones a nivel de producci\u00f3n, disponer de una base de datos es esencial. Por suerte, Kinsta simplifica este proceso proporcionando <a href=\"https:\/\/sevalla.com\/database-hosting\/\">servicios de base de datos administrados<\/a> en su totalidad que son incre\u00edblemente f\u00e1ciles de configurar.<\/p>\n<p>A continuaci\u00f3n te explicamos c\u00f3mo puedes crear una base de datos en Kinsta:<\/p>\n<ol start=\"1\">\n<li>Ve a la secci\u00f3n <strong>Bases de Datos<\/strong> en la barra lateral del panel de control de MyKinsta.<\/li>\n<li>Haz clic en <strong>Crear una base de datos<\/strong>. Configura los detalles de tu base de datos introduciendo un nombre y seleccionando el tipo de base de datos.<\/li>\n<li>Selecciona la opci\u00f3n <strong>PostgreSQL<\/strong>. Se generar\u00e1 autom\u00e1ticamente un <strong>nombre de usuario<\/strong> y una <strong>contrase\u00f1a<\/strong> para la base de datos:\n<p><figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/creating-db-mykinsta.png\" alt=\"El paso de configuraci\u00f3n de la base de datos MyKinsta de a\u00f1adir una nueva base de datos.\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">El paso de configuraci\u00f3n de la base de datos MyKinsta de a\u00f1adir una nueva base de datos.<\/figcaption><\/figure><\/li>\n<li>Selecciona la misma <strong>ubicaci\u00f3n del Centro de Datos<\/strong> donde alojaste tu aplicaci\u00f3n Express y configura el tama\u00f1o deseado.<\/li>\n<li>Confirma la informaci\u00f3n de pago y haz clic en <strong>Crear base de datos<\/strong>.<\/li>\n<\/ol>\n<p>Una vez que la base de datos se haya creado correctamente:<\/p>\n<ol start=\"1\">\n<li>Accede a los detalles de la base de datos haciendo clic sobre ella. En la p\u00e1gina <strong>Visi\u00f3n general<\/strong>, ve a la secci\u00f3n <strong>Conexiones internas<\/strong>.<\/li>\n<li>Selecciona la aplicaci\u00f3n adecuada.<\/li>\n<li>Marca la opci\u00f3n <strong>A\u00f1adir variables de entorno a la aplicaci\u00f3n<\/strong>.<\/li>\n<li>Haz clic en <strong>A\u00f1adir conexi\u00f3n<\/strong> para conectar la base de datos reci\u00e9n creada y tu aplicaci\u00f3n.<\/li>\n<\/ol>\n<p>A continuaci\u00f3n, copia la cadena de conexi\u00f3n de la base de datos reci\u00e9n creada para conectarte a ella con una herramienta de base de datos. Cualquier herramienta de conexi\u00f3n SQL ser\u00e1 suficiente, pero en esta demostraci\u00f3n se utiliza <a href=\"https:\/\/www.beekeeperstudio.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">Beekeeper<\/a>. Abre la aplicaci\u00f3n y haz clic en Importar desde URL, pega la cadena de conexi\u00f3n y haz clic en Importar. Esto te permitir\u00e1 ejecutar SQL en la base de datos alojada en Kinsta que acabas de crear.<\/p>\n<p>A continuaci\u00f3n, crea una tabla elemental con una \u00fanica entrada ejecutando algunas sentencias SQL sobre la base de datos alojada con tu herramienta de base de datos:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE \"States\"\n( id integer CONSTRAINT states_pk PRIMARY KEY,\n  state_name varchar(100),\n  capital varchar(100),\n  state_bird varchar(100),\n  \"createdAt\" TIMESTAMPTZ NOT NULL DEFAULT NOW(),\n  \"updatedAt\" TIMESTAMPTZ NOT NULL DEFAULT NOW()\n);\n\nINSERT INTO \"States\"\nVALUES(1, 'ohio', 'columbus', 'cardinal');<\/code><\/pre>\n<p>A\u00f1ade los siguientes paquetes de base de datos a tu proyecto:<\/p>\n<pre><code class=\"language-bash\">npm install sequelize pg<\/code><\/pre>\n<p>La dependencia <code><a href=\"https:\/\/www.npmjs.com\/package\/sequelize\" target=\"_blank\" rel=\"noopener noreferrer\">sequelize<\/a><\/code> es un ORM para Node.js, y el paquete <code><a href=\"https:\/\/www.npmjs.com\/package\/pg\" target=\"_blank\" rel=\"noopener noreferrer\">pg<\/a><\/code> sirve como cliente PostgreSQL, permitiendo la interacci\u00f3n entre las aplicaciones Node.js y las bases de datos PostgreSQL.<\/p>\n<p>A continuaci\u00f3n, escribe el c\u00f3digo de la aplicaci\u00f3n que acepta una petici\u00f3n <code>GET<\/code> con un par\u00e1metro <code>id<\/code> y devuelve la informaci\u00f3n de la base de datos asociada a ese <code>id<\/code>. Para ello, modifica tu archivo <strong>index.js<\/strong> en consecuencia:<\/p>\n<pre><code class=\"language-javascript\">var express = require('express');\nvar router = express.Router();\nconst { Sequelize, DataTypes } = require('sequelize');\nconst sequelize = new Sequelize(process.env.CONNECTION_URI, {\n  dialect: 'postgres',\n  protocol: 'postgres',\n});\n\nconst State = sequelize.define('State', {\n  \/\/ Model attributes are defined here\n  state_name: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n  capital: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n  state_bird: {\n  type: DataTypes.STRING,\n  allowNull: true,\n  unique: false\n  },\n}, {\n  \/\/ Other model options go here\n});\n\nasync function connectToDB() {\n  try {\n  sequelize.authenticate().then(async () =&gt; {\n  \/\/ await State.sync({ alter: true });\n  })\n  console.log('Connection has been established successfully.');\n  } catch (error) {\n  console.error('Unable to connect to the database:', error);\n  }\n}\nconnectToDB();\n\n\/* GET a new resource *\/\nrouter.get('\/state', async function(req, res, next) {\n  const state = await State.findByPk(req.query.id);\n  if (state) {\n   res.send(state)\n  } else {\n   res.status(404).send(\"state not found\");\n  }\n});\n\n\n\/* GET home page. *\/\nrouter.get('\/', function(req, res, next) {\n  res.render('index', { title: 'Express' });\n});\n\n\/* GET a new resource *\/\nrouter.get('\/newEndpoint', function(req, res, next) {\n  res.send({ yourParam: req.query.someParam });\n});\n\nmodule.exports = router;<\/code><\/pre>\n<p>Haz commit de los cambios en el c\u00f3digo y env\u00edalos a tu repositorio Git. A continuaci\u00f3n, procede a redistribuir manualmente en Kinsta o espera al despliegue autom\u00e1tico.<\/p>\n<p>Ahora, cuando consultes el endpoint <code>\/states<\/code> con <code>id=1<\/code>, recibir\u00e1s un estado de la base de datos.<\/p>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/12\/testing-complete-app.png\" alt=\"Una solicitud GET a la aplicaci\u00f3n en pleno funcionamiento alojada en MyKinsta.\" width=\"1001\" height=\"471\"><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Una solicitud GET a la aplicaci\u00f3n en pleno funcionamiento alojada en MyKinsta.<\/figcaption><\/figure>\n<p>\u00a1Eso es todo! Puedes consultar el <a href=\"https:\/\/github.com\/olawanlejoel\/express-skeleton-app\" target=\"_blank\" rel=\"noopener noreferrer\">c\u00f3digo completo del proyecto en GitHub<\/a>.<\/p>\n<h2>Resumen<\/h2>\n<p>Este art\u00edculo ha demostrado c\u00f3mo el framework Express permite crear y desplegar una aplicaci\u00f3n Node.js de forma r\u00e1pida y sencilla. Puedes crear una nueva aplicaci\u00f3n con el generador Express en unos sencillos pasos. Con el <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Alojamiento de Aplicaciones de Kinsta<\/a>, el despliegue de la aplicaci\u00f3n se agiliza y requiere una configuraci\u00f3n m\u00ednima.<\/p>\n<p>La potencia y facilidad de uso del framework Express para el desarrollo de aplicaciones Node.js es significativa. Con Kinsta, puedes llevar el impulso que Express y Node.js te dan a la fase de despliegue de tu proyecto sin perder tiempo con la configuraci\u00f3n.<\/p>\n<p><em>\u00bfQu\u00e9 opinas del generador de aplicaciones Express? \u00bfLo has utilizado para desarrollar alguna aplicaci\u00f3n anteriormente? \u00a1No dudes en compartir tus experiencias en los comentarios de abajo!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Express, el framework Node.js m\u00e1s utilizado del mundo, permite a los desarrolladores crear servidores web backend con JavaScript. Este framework proporciona la mayor parte de lo &#8230;<\/p>\n","protected":false},"author":199,"featured_media":72613,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1311,1319,1297],"class_list":["post-72612","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-node-js","topic-postgresql","topic-tutoriales-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Descubra el r\u00e1pido proceso de creaci\u00f3n y lanzamiento de una aplicaci\u00f3n Node.js utilizando Express en s\u00f3lo 5 minutos. Comienza tu viaje Node.js ahora.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express\" \/>\n<meta property=\"og:description\" content=\"Descubra el r\u00e1pido proceso de creaci\u00f3n y lanzamiento de una aplicaci\u00f3n Node.js utilizando Express en s\u00f3lo 5 minutos. Comienza tu viaje Node.js ahora.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-18T16:22:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-19T15:56:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Descubra el r\u00e1pido proceso de creaci\u00f3n y lanzamiento de una aplicaci\u00f3n Node.js utilizando Express en s\u00f3lo 5 minutos. Comienza tu viaje Node.js ahora.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express\",\"datePublished\":\"2023-12-18T16:22:34+00:00\",\"dateModified\":\"2023-12-19T15:56:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/\"},\"wordCount\":1782,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/\",\"name\":\"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg\",\"datePublished\":\"2023-12-18T16:22:34+00:00\",\"dateModified\":\"2023-12-19T15:56:35+00:00\",\"description\":\"Descubra el r\u00e1pido proceso de creaci\u00f3n y lanzamiento de una aplicaci\u00f3n Node.js utilizando Express en s\u00f3lo 5 minutos. Comienza tu viaje Node.js ahora.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/node-js\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express - Kinsta\u00ae","description":"Descubra el r\u00e1pido proceso de creaci\u00f3n y lanzamiento de una aplicaci\u00f3n Node.js utilizando Express en s\u00f3lo 5 minutos. Comienza tu viaje Node.js ahora.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/","og_locale":"es_ES","og_type":"article","og_title":"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express","og_description":"Descubra el r\u00e1pido proceso de creaci\u00f3n y lanzamiento de una aplicaci\u00f3n Node.js utilizando Express en s\u00f3lo 5 minutos. Comienza tu viaje Node.js ahora.","og_url":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2023-12-18T16:22:34+00:00","article_modified_time":"2023-12-19T15:56:35+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Descubra el r\u00e1pido proceso de creaci\u00f3n y lanzamiento de una aplicaci\u00f3n Node.js utilizando Express en s\u00f3lo 5 minutos. Comienza tu viaje Node.js ahora.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg","twitter_creator":"@Kinsta_ES","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Jeremy Holcombe","Tiempo de lectura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express","datePublished":"2023-12-18T16:22:34+00:00","dateModified":"2023-12-19T15:56:35+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/"},"wordCount":1782,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg","inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/","url":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/","name":"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg","datePublished":"2023-12-18T16:22:34+00:00","dateModified":"2023-12-19T15:56:35+00:00","description":"Descubra el r\u00e1pido proceso de creaci\u00f3n y lanzamiento de una aplicaci\u00f3n Node.js utilizando Express en s\u00f3lo 5 minutos. Comienza tu viaje Node.js ahora.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/create-express-app.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/crea-aplicacion-express\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Node.js","item":"https:\/\/kinsta.com\/es\/secciones\/node-js\/"},{"@type":"ListItem","position":3,"name":"Crea y Despliega una Aplicaci\u00f3n Node.js en 5 Minutos con Express"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/es\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/72612","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=72612"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/72612\/revisions"}],"predecessor-version":[{"id":72636,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/72612\/revisions\/72636"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72612\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72612\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72612\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72612\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72612\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72612\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72612\/translations\/fr"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/72612\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/72613"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=72612"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=72612"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=72612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}