Compartir por


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:

Un explorador web muestra la página de presentación de Express en Azure.

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.

Realice los siguientes pasos para crear un nuevo proyecto de servicio en la nube con nombre expressapp:

  1. 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.

    Icono de Azure PowerShell

  2. 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

  1. 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.

    Windows PowerShell muestra la salida del comando npm install express.

  2. 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.

    La salida del comando express.

  3. Para instalar las demás dependencias definidas en el archivo package.json, escriba el siguiente comando:

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

    Salida del comando npm install

  4. 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.

  5. 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 .

  6. Use el siguiente comando para ejecutar la aplicación en el emulador de Azure:

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

    Una página web que contiene la bienvenida a Express.

Modificación de la vista

Ahora, modifique la vista para que muestre el mensaje "Welcome to Express in Azure".

  1. Escriba el siguiente comando para abrir el archivo index.jade:

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

    El contenido del archivo index.jade.

    Jade es el motor de vistas predeterminado que utilizan las aplicaciones Express.

  2. Modifique la última línea de texto para anexarla en Azure.

    El archivo index.jade, la última línea muestra: Bienvenido a #{title} en Azure

  3. Guarde el archivo y salga de la aplicación Bloc de notas.

  4. Para ver los cambios, actualice el explorador.

    Ventana del explorador, la página contiene el texto Welcome to Express in Azure.

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.

Un explorador web que muestra la página de Express. La dirección URL indica que ahora está hospedada en Azure.

Pasos siguientes

Para más información, vea el Centro para desarrolladores de Node.js.