Como escrever serviços da Web com o Node.js

Neste guia, você descobre como escrever um serviço da Web do Node.js para ser executado no ambiente padrão do App Engine. Para saber mais sobre o ambiente de execução do Node.js e como ele funciona, consulte esta página.

Antes de começar

Pontos principais

  • Use dependências listando-as no seu arquivo package.json. Consulte Como especificar dependências para saber mais.
  • O App Engine inicia seu aplicativo executando npm start.
  • Seu servidor precisa detectar a porta especificada pelo process.env.PORT, uma variável de ambiente definida pelo ambiente de execução do App Engine.
  • Você precisa de um arquivo app.yaml para implantar seu serviço no App Engine.

Como criar um servidor para detectar solicitações HTTP

O núcleo do serviço da Web é o servidor HTTP. No código de amostra deste guia, usamos a estrutura Express.js para processar solicitações HTTP. No entanto, você pode usar a estrutura da Web que preferir.

  1. Crie uma nova pasta chamada my-nodejs-service para o serviço Node.js.

  2. Navegue até a pasta no terminal e crie um arquivo package.json executando npm init.

  3. Adicione o Express como uma dependência. Para isso, execute:

    npm install express
    

    Confirme se o Express aparece no campo dependencies do arquivo package.json. Veja um exemplo:

    {
      ...
      "dependencies": {
        "express": "^4.16.3"
      }
      ...
    }
    
  4. Adicione um script start ao arquivo package.json:

    "scripts": {
      "start": "node server.js"
    }
    
  5. Crie um arquivo chamado server.js na mesma pasta e adicione o código a seguir:

    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 é um servidor da Web muito básico. Ele responde a todas as solicitações GET para o caminho raiz ('/') com o texto "Hello from App Engine!" Observe as últimas quatro linhas, em que o servidor está configurado para detectar a porta especificada por process.env.PORT, uma variável de ambiente definida pelo ambiente de execução do App Engine. Se o servidor não estiver configurado para fazer detecções nessa porta, ele não receberá solicitações.

Se process.env.PORT não estiver definido, a porta 8080 será usada como padrão. Isso é necessário para testar o aplicativo localmente, porque process.env.PORT não é definido durante execuções locais. Ele é definido apenas quando o aplicativo está em execução no App Engine. Neste guia, usamos a porta 8080, mas você pode utilizar a que preferir nos testes.

Como executar o servidor no local

Para executar o servidor no local:

  1. Execute npm start no terminal. Isso executará o arquivo server.js.

  2. Aponte seu navegador da Web para http://localhost:8080.

Você verá uma página com o texto "Hello from App Engine!"

Como criar o arquivo app.yaml

Um arquivo app.yaml especifica as configurações do ambiente de execução do serviço do App Engine. Sem esse arquivo, não é possível implantar o serviço.

  1. Na sua pasta my-nodejs-service, crie um arquivo chamado app.yaml.

  2. Adicione o seguinte conteúdo:

    runtime: nodejs20

    Este é um arquivo de configuração mínima. Ele indica ao App Engine a versão do ambiente de execução do Node.js. O arquivo app.yaml também pode especificar configurações de rede, configurações de dimensionamento e muito mais. Para mais informações, consulte a referência de app.yaml.

Agora, você terá uma estrutura de arquivo como esta:

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

Próximas etapas

Agora que você criou um servidor da Web Node.js simples que detecta a porta correta e especificou o ambiente de execução em um arquivo app.yaml, está pronto para implantar o serviço no App Engine.

Faça um teste

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do App Engine em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Faça um teste gratuito do App Engine