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

  • Enumera las dependencias en tu archivo package.json para poder usarlas. Consulta Especifica dependencias para obtener más información.
  • App Engine inicia tu aplicación mediante la ejecución de npm start.
  • Tu servidor debe detectar el puerto que especifica la variable de entorno process.env.PORT.
  • Necesitas un archivo app.yaml para implementar tu servicio en App Engine.

Crea un servidor que detecte las solicitudes HTTP

El núcleo de tu servicio web es el servidor HTTP. El código de muestra de esta guía utiliza el marco de trabajo Express.js para manejar las solicitudes HTTP, pero eres libre de emplear el marco de trabajo web que prefieras.

  1. Crea una carpeta nueva con el nombre my-nodejs-service para tu servicio Node.js.

  2. Navega a la carpeta en tu terminal y crea un archivo package.json mediante la ejecución de npm init.

  3. Agrega Express como dependencia mediante la ejecución de:

    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 con el nombre server.js en la misma carpeta y agrega este 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 se configura el servidor para que escuche en el puerto especificado en process.env.PORT, una variable de entorno que configura el entorno de ejecución de App Engine. Si tu servidor no está configurado para detectar este puerto, no recibirá solicitudes.

Observa que si process.env.PORT no está configurado, el puerto 8080 se utiliza como predeterminado. Esto es necesario para probar tu app de manera local, ya que process.env.PORT no se configura durante las ejecuciones locales, solo lo hace cuando tu app se ejecuta en App Engine. Puedes utilizar el puerto que prefieras para realizar las pruebas, pero esta guía 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. Orienta tu navegador web hacia http://localhost:8080.

Deberías ver una página con el texto "Hello from App Engine!".

Crea el archivo app.yaml

Un archivo app.yaml especifica la configuración del 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 con el nombre app.yaml

  2. Agrega los contenidos a continuación:

    runtime: nodejs10

    Este es un archivo de configuración mínima 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

Pasos siguientes

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

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación del entorno estándar de App Engine para Node.js