Escribe tu servicio web con Node.js

En esta guía, se muestra cómo escribir un servicio web Node.js para ejecutarlo en el entorno estándar de App Engine. Para obtener más información sobre el entorno de ejecución de Node.js y cómo funciona, consulta Entorno de ejecución de Node.js.

Antes de comenzar

Puntos clave

  • Puedes usar dependencias. Para ello, inclúyelas en una lista en el archivo package.json. Consulta Especifica dependencias para obtener más información.
  • App Engine inicia la aplicación mediante la ejecución de npm start.
  • El servidor debe detectar el puerto que especifica process.env.PORT, una variable de entorno que establece el entorno de ejecución de App Engine.
  • Necesitas un archivo app.yaml para implementar el servicio en App Engine.

Crea un servidor que detecte las solicitudes HTTP

El núcleo de tu servicio web es el servidor HTTP. En el código de muestra de esta guía, se usa el framework Express.js para controlar las solicitudes HTTP, pero puedes usar el framework web que desees.

  1. Crea una carpeta nueva llamada my-nodejs-service para el servicio de Node.js.

  2. Para navegar a la carpeta en tu terminal y crear un archivo package.json, ejecuta npm init.

  3. Ejecuta el siguiente comando para agregar Express como una dependencia:

    npm install express
    

    Confirma que Express aparezca en el campo dependencies del archivo package.json. Por ejemplo:

    {
      ...
      "dependencies": {
        "express": "^4.16.3"
      }
      ...
    }
    
  4. Agrega una secuencia de comandos start al archivo package.json:

    "scripts": {
      "start": "node server.js"
    }
    
  5. Crea un archivo llamado server.js en la misma carpeta y agrega el siguiente código:

    const express = require('express');
    const app = express();
    
    app.get('/', (req, res) => {
      res.send('Hello from App Engine!');
    });
    
    // Listen to the App Engine-specified port, or 8080 otherwise
    const PORT = process.env.PORT || 8080;
    app.listen(PORT, () => {
      console.log(`Server listening on port ${PORT}...`);
    });

Este es un servidor web muy básico; responde a todas las solicitudes GET en la ruta raíz ('/') con el texto “Hello from App Engine!” Ten en cuenta las últimas cuatro líneas en las que el servidor se configura para detectar el puerto que especifica process.env.PORT, una variable de entorno que establece el entorno de ejecución de App Engine. Si tu servidor no está configurado para detectar este puerto, no recibirá solicitudes.

Ten en cuenta que si process.env.PORT no está configurado, se usa el puerto 8080 como predeterminado. Esto es necesario para probar la app de manera local, ya que process.env.PORT no se configura durante las ejecuciones locales, solo lo hace cuando la app se ejecuta en App Engine. Puedes usar el puerto que prefieras para realizar las pruebas, pero en esta guía se emplea 8080.

Ejecuta el servidor de manera local

Para ejecutar el servidor de manera local, haz lo siguiente:

  1. Ejecuta npm start en tu terminal. Esto ejecutará el archivo server.js.

  2. Dirige el navegador web a http://localhost:8080.

Debes ver una página con el texto “Hello from App Engine!”.

Crea el archivo app.yaml

Un archivo app.yaml especifica la configuración para el entorno de ejecución del servicio de App Engine. Tu servicio no se implementará sin este archivo.

  1. En la carpeta my-nodejs-service, crea un archivo llamado app.yaml.

  2. Agrega los contenidos a continuación:

    runtime: nodejs20

    Este es un archivo de configuración mínimo que le indica a App Engine la versión del entorno de ejecución de Node.js. El archivo app.yaml también puede especificar la configuración de red, la configuración de escalamiento y más. Para obtener más información, consulta la referencia de app.yaml.

En este punto, debes tener una estructura de archivos como la que se muestra a continuación:

  my-nodejs-service/
  app.yaml
  package.json
  server.js

Próximos pasos

Ahora que ya creaste un servidor web de Node.js sencillo que escucha en el puerto correcto y que especificaste el entorno de ejecución en un archivo app.yaml, estás listo para implementar tu servicio en App Engine.

Pruébalo tú mismo

Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de App Engine en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

Probar App Engine gratis