Criar e implantar um aplicativo Web do Node.js usando o Express em um Serviço de Nuvem do Azure (clássico)

Importante

Os Serviços de Nuvem (clássicos) agora foram preteridos para novos clientes e serão desativados em 31 de agosto de 2024 para todos os clientes. As novas implantações devem usar o novo modelo de implantação baseado no Azure Resource Manager Serviços de Nuvem do Azure (suporte estendido) .

O Node.js inclui um conjunto mínimo de funcionalidades em runtime básico. Os desenvolvedores normalmente usam módulos de terceiros para fornecer funcionalidade adicional ao desenvolver um aplicativo do Node.js. Neste tutorial, você criará um aplicativo usando o módulo Express, que fornece uma estrutura MVC para criar aplicativos Web do Node.js.

Abaixo, uma captura de tela do aplicativo concluído:

A web browser displaying Welcome to Express in Azure

Criar um projeto de Serviço de Nuvem

Observação

Para concluir com sucesso esta seção, você deve ter uma instalação funcional do Node.js e o SDK do Azure para o Node.js para sua plataforma.

Execute as seguintes etapas para criar um projeto de serviço de nuvem chamado expressapp:

  1. Do Menu Iniciar ou na Tela Iniciar, procure Windows PowerShell. Por fim, clique com botão direito em Windows PowerShell e selecione Executar Como Administrador.

    Azure PowerShell icon

  2. Altere os diretórios para o diretório c:/node e digite os seguintes comandos para criar uma nova solução denominada expressapp e uma função web denominada WebRole1:

    PS C:\node> New-AzureServiceProject expressapp
    PS C:\Node\expressapp> Add-AzureNodeWebRole
    PS C:\Node\expressapp> Set-AzureServiceProjectRole WebRole1 Node 0.10.21
    

    Observação

    Por padrão, o Add-AzureNodeWebRole usa uma versão mais antiga do Node.js. A instrução Set-AzureServiceProjectRole acima instrui o Azure usar a versão v0.10.21 do Node. Observe que os parâmetros diferenciam maiúsculas de minúsculas. Você pode verificar se a versão correta do Node.js foi selecionada verificando a propriedade engines em WebRole1\package.json.

Instalar o Express

  1. Instale o gerador Express emitindo o comando a seguir:

    PS C:\node\expressapp> npm install express-generator -g
    

    A saída do comando npm deve ser semelhante ao resultado abaixo.

    Windows PowerShell displaying the output of the npm install express command.

  2. Altere os diretórios para o diretório WebRole1 e use o comando express para gerar um novo aplicativo:

    PS C:\node\expressapp\WebRole1> express
    

    Você será solicitado a substituir o aplicativo anterior. Digite s ou sim para continuar. O Express gerará o arquivo app.js e uma estrutura de pastas para criar seu aplicativo.

    The output of the express command

  3. Para instalar dependências adicionais definidas no arquivo package.json, digite o seguinte comando:

    PS C:\node\expressapp\WebRole1> npm install
    

    The output of the npm install command

  4. Use o seguinte comando para copiar o arquivo bin/www no server.js. Isso é para que o serviço de nuvem possa encontrar o ponto de entrada para este aplicativo.

    PS C:\node\expressapp\WebRole1> copy bin/www server.js
    

    Após este comando tiver concluído, você deve ter um arquivo server.js no diretório WebRole1.

  5. Modifique o server.js para remover um dos caracteres '.' da seguinte linha.

    var app = require('../app');
    

    Após fazer esta modificação, a linha deve aparecer da seguinte maneira.

    var app = require('./app');
    

    Esta alteração é necessária porque movemos o arquivo (anteriormente bin/www) para o mesmo diretório que o arquivo do aplicativo necessário. Após fazer de fazer essa alteração, salve o arquivo server.js .

  6. Use o seguinte comando para executar o aplicativo no emulador do Azure:

    PS C:\node\expressapp\WebRole1> Start-AzureEmulator -launch
    

    A web page containing welcome to express.

Modificando a exibição

Agora modifique a exibição para exibir a mensagem “Bem-vindo ao Express no Azure”.

  1. Digite o comando a seguir para abrir o arquivo index.jade:

    PS C:\node\expressapp\WebRole1> notepad views/index.jade
    

    The contents of the index.jade file.

    Jade é o mecanismo de exibição padrão usado por aplicativos do Express.

  2. Modifique a última linha de texto acrescentando no Azure.

    The index.jade file, the last line reads: p Welcome to #{title} in Azure

  3. Salve o arquivo e saia do Bloco de Notas.

  4. Atualize o navegador para ver as alterações.

    A browser window, the page contains Welcome to Express in Azure

Depois de testar o aplicativo, use o cmdlet Stop-AzureEmulator para parar o emulador.

Publicar o Aplicativo no Azure

Na janela PowerShell do Azure, use o cmdlet Publish-AzureServiceProject para implantar o aplicativo em um serviço de nuvem

PS C:\node\expressapp\WebRole1> Publish-AzureServiceProject -ServiceName myexpressapp -Location "East US" -Launch

Quando a operação de implantação estiver concluída, o navegador será aberto e exibirá a página da web.

A web browser displaying the Express page. The URL indicates it is now hosted on Azure.

Próximas etapas

Para saber mais, confira o Centro de desenvolvedores do Node.js.