Compilación e implementación de una aplicación web Node.js mediante Express en un servicio de Azure Cloud Services (clásico)
Importante
Cloud Services (clásico) ahora está en desuso para todos los clientes a partir del 1 de septiembre de 2024. Microsoft detendrá y apagará las implementaciones en ejecución existentes y los datos se perderán de forma permanente a partir de octubre de 2024. Las nuevas implementaciones deben utilizar el nuevo modelo de implementación basado en Azure Resource Manager Azure Cloud Services (soporte extendido) .
Node.js incluye un conjunto mínimo de funcionalidad en el tiempo de ejecución del núcleo. Los desarrolladores suelen utilizar módulos que no son de Microsoft para proporcionar funcionalidad adicional al desarrollar una aplicación Node.js. En este tutorial, creará una aplicación mediante el módulo Express, que proporciona un marco Modelo-Vista-Control (MVC) para la creación de aplicaciones web Node.js.
La siguiente captura de pantalla muestra la aplicación completada:
Creación de un proyecto de servicio en la nube
Nota:
Para completar correctamente esta sección, debe disponer de una instalación en funcionamiento de Node.js y del SDK de Azure para Node.js para su plataforma.
- Instale el SDK de Azure para Node.js: Windows Installer.
Realice los siguientes pasos para crear un nuevo proyecto de servicio en la nube con nombre expressapp
:
En el menú Inicio o la pantalla Inicio, busque Windows PowerShell. Finalmente, haga clic con el botón derecho en Windows PowerShell y seleccione Ejecutar como administrador.
Cambie los directorios al directorio c:\node y, a continuación, escriba los siguientes comandos para crear una nueva solución llamada
expressapp
y un rol web llamado WebRole1:PS C:\node> New-AzureServiceProject expressapp PS C:\Node\expressapp> Add-AzureNodeWebRole PS C:\Node\expressapp> Set-AzureServiceProjectRole WebRole1 Node 0.10.21
Nota:
De forma predeterminada, Add-AzureNodeWebRole usa una versión anterior de Node.js. La línea Set-AzureServiceProjectRole anterior indica a Azure que debe usar la versión v0.10.21 de Node. Tenga en cuenta que los parámetros distinguen mayúsculas de minúsculas. Puede comprobar la versión correcta de Node.js que se ha seleccionado comprobando la propiedad motores en WebRole1\package.json.
Instalación de Express
Instale el generador Express mediante el siguiente comando:
PS C:\node\expressapp> npm install express-generator -g
En el recorte de pantalla siguiente se muestra la salida del comando npm. En su caso debe tener un aspecto similar.
Cambie los directorios por el directorio WebRole1 y use el comando express para generar una nueva aplicación:
PS C:\node\expressapp\WebRole1> express
Para continuar, escriba y o yes cuando se le pida que sobrescriba la aplicación anterior. Express genera el archivo app.js y una estructura de carpetas para compilar la aplicación.
Para instalar las demás dependencias definidas en el archivo package.json, escriba el siguiente comando:
PS C:\node\expressapp\WebRole1> npm install
Use el comando siguiente para copiar el archivo bin/www en server.js. Este paso permite al servicio en la nube encontrar el punto de entrada de esta aplicación.
PS C:\node\expressapp\WebRole1> copy bin/www server.js
Después de que se complete este comando, debe tener el archivo server.js en el directorio WebRole1.
Modifique el archivo server.js para quitar uno de los caracteres '.' de la línea siguiente.
var app = require('../app');
Una vez que realice esta modificación, la línea debería tener el aspecto siguiente:
var app = require('./app');
Este cambio es necesario porque el archivo se movió (anteriormente
bin/www
) al mismo directorio que el archivo de aplicación que se requiere. Después de realizar este cambio, guarde el archivo server.js .Use el siguiente comando para ejecutar la aplicación en el emulador de Azure:
PS C:\node\expressapp\WebRole1> Start-AzureEmulator -launch
Modificación de la vista
Ahora, modifique la vista para que muestre el mensaje "Welcome to Express in Azure".
Escriba el siguiente comando para abrir el archivo index.jade:
PS C:\node\expressapp\WebRole1> notepad views/index.jade
Jade es el motor de vistas predeterminado que utilizan las aplicaciones Express.
Modifique la última línea de texto para anexarla en Azure.
Guarde el archivo y salga de la aplicación Bloc de notas.
Para ver los cambios, actualice el explorador.
Después de evaluar la aplicación, utilice el cmdlet Stop-AzureEmulator para detener el emulador.
Publicación de la aplicación en Azure
En la ventana de Azure PowerShell, utilice el cmdlet Publish-AzureServiceProject para implementar la aplicación en un servicio en la nube.
PS C:\node\expressapp\WebRole1> Publish-AzureServiceProject -ServiceName myexpressapp -Location "East US" -Launch
Una vez que finalice la operación de implementación, el explorador se abrirá y mostrará la página web.
Pasos siguientes
Para más información, vea el Centro para desarrolladores de Node.js.