Escreva o seu serviço Web com Node.js

Este guia mostra como escrever um serviço Web Node.js para ser executado no ambiente padrão do App Engine. Para saber mais sobre o tempo de execução do Node.js e como funciona, consulte o artigo Ambiente de tempo de execução do Node.js.

Antes de começar

Pontos-chave

Crie um servidor para ouvir pedidos HTTP

O núcleo do seu serviço Web é o servidor HTTP. O código de exemplo neste guia usa a framework Express.js para processar pedidos HTTP, mas pode usar uma framework Web à sua escolha.

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

  2. Navegue para a pasta no terminal e crie um ficheiro package.json executando npm init.

  3. Adicione o Express como uma dependência executando:

    npm install express
    

    Confirme se o Express aparece no campo dependencies do ficheiro package.json. Segue-se um exemplo:

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

    "scripts": {
      "start": "node server.js"
    }
    
  5. Crie um ficheiro denominado server.js na mesma pasta e adicione o seguinte 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 é um servidor Web muito básico. Responde a todos os pedidos GET para o caminho raiz ('/') com o texto "Olá do App Engine!" Repare nas últimas quatro linhas, onde o servidor está definido para ouvir a porta especificada por process.env.PORT, uma variável de ambiente definida pelo tempo de execução do App Engine. Se o seu servidor não estiver definido para ouvir esta porta, não recebe pedidos.

Tenha em atenção que, se process.env.PORT não estiver definido, a porta 8080 é usada como predefinição. Isto é necessário para testar a sua app localmente, porque process.env.PORT não é definido durante as execuções locais. Só é definido quando a sua app está a ser executada no App Engine. Pode usar a porta que preferir para os testes, mas este guia usa a porta 8080.

Execute o servidor localmente

Para executar o servidor localmente:

  1. Execute o npm start no seu terminal. Esta ação executa o ficheiro server.js.

  2. Aponte o navegador de Internet para http://localhost:8080.

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

Crie o ficheiro app.yaml

Um ficheiro app.yaml especifica as definições do ambiente de tempo de execução do seu serviço do App Engine. O seu serviço não é implementado sem este ficheiro.

  1. Na pasta my-nodejs-service, crie um ficheiro denominado app.yaml.

  2. Adicione os seguintes conteúdos:

    runtime: nodejs20

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

Neste momento, deve ter uma estrutura de ficheiros semelhante à seguinte:

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

Passos seguintes

Agora que criou um servidor Web Node.js simples que escuta a porta correta e especificou o tempo de execução num ficheiro app.yaml, está a postos para implementar o seu serviço no App Engine.

Experimente

Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do App Engine em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.

Experimente o App Engine gratuitamente