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) estão obsoletos para todos os clientes desde 1º de setembro de 2024. Qualquer implantação em execução existente será interrompida e desligada pela Microsoft e os dados serão perdidos permanentemente a partir de outubro de 2024. 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 geralmente usam módulos que não são da Microsoft para fornecer mais funcionalidade ao desenvolver um aplicativo Node.js. Neste tutorial, você criará um novo aplicativo usando o módulo Express, que fornece uma estrutura Model-View-Control para criar aplicativos Web Node.js.
A captura de tela a seguir mostra o aplicativo concluído:
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.
- Instale o SDK do Azure para Node.js: instalador do Windows
Execute as seguintes etapas para criar um projeto de serviço de nuvem chamado expressapp
:
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.
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 linha Set-AzureServiceProjectRole anterior instrui o Azure a usar 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
Instale o gerador Express emitindo o comando a seguir:
PS C:\node\expressapp> npm install express-generator -g
A captura de tela a seguir mostra a saída do comando npm. Sua saída deve ser semelhante.
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
Para continuar, insira y ou yes quando solicitado a substituir seu aplicativo anterior. O Express gera o arquivo app.js e uma estrutura de pastas para criar seu aplicativo.
Para instalar as outras dependências definidas no arquivo package.json, insira o seguinte comando:
PS C:\node\expressapp\WebRole1> npm install
Use o seguinte comando para copiar o arquivo bin/www no server.js. Esta etapa permite que o serviço de nuvem localize 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.
Modifique o server.js para remover um dos caracteres '.' da seguinte linha.
var app = require('../app');
Depois de fazer essa modificação, a linha deverá 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 .Use o seguinte comando para executar o aplicativo no emulador do Azure:
PS C:\node\expressapp\WebRole1> Start-AzureEmulator -launch
Modificando a exibição
Agora, modifique o modo de exibição para exibir a mensagem "Bem-vindo ao Express no Azure."
Digite o comando a seguir para abrir o arquivo index.jade:
PS C:\node\expressapp\WebRole1> notepad views/index.jade
Jade é o mecanismo de exibição padrão usado por aplicativos do Express.
Modifique a última linha de texto acrescentando no Azure.
Salve o arquivo e saia do Bloco de Notas.
Para ver suas alterações, atualize o navegador.
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
Depois que a operação de implantação for concluída, o navegador será aberto e exibirá a página.
Próximas etapas
Para saber mais, confira o Centro de desenvolvedores do Node.js.