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:
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 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
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.
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.
Para instalar dependências adicionais definidas no arquivo package.json, digite o seguinte comando:
PS C:\node\expressapp\WebRole1> npm install
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.
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 .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 a 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.
Atualize o navegador para ver as alterações.
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.
Próximas etapas
Para saber mais, confira o Centro de desenvolvedores do Node.js.