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 los nuevos clientes y se retirará el 31 de agosto de 2024 para todos los clientes. 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 de terceros para proporcionar funcionalidad adicional al desarrollar una aplicación Node.js. En este tutorial, aprenderá a crear una nueva aplicación mediante el módulo Express, que proporciona un marco MVC para la creación de aplicaciones web Node.js.

A continuación se muestra una captura de pantalla de la aplicación completada:

A web browser displaying Welcome to Express in 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.

    Azure PowerShell icon

  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 instrucción Set-AzureServiceProjectRole anterior indica a Azure que debe usar la v0.10.21 del nodo. 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
    

    La salida del comando npm debería parecerse a la siguiente.

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

  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
    

    Se le solicitará que sobrescriba la aplicación anterior. Escriba y o yes para continuar. Express generará el archivo app.js y una estructura de carpetas para compilar su aplicación.

    The output of the express command

  3. Para instalar dependencias adicionales definidas en el archivo package.json, escriba el siguiente comando:

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

    The output of the npm install command

  4. Use el comando siguiente para copiar el archivo bin/www en server.js. Esto es para que el servicio en la nube pueda 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');
    

    Tras realizar 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
    

    A web page containing welcome to express.

Modificación de la vista

Modifique ahora la vista para visualizar 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
    

    The contents of the index.jade file.

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

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

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

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

  4. Actualice el explorador para ver los cambios.

    A browser window, the page contains 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 finalizada la operación de implementación, el explorador abrirá y mostrará la página web.

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

Pasos siguientes

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