Créer et déployer une application web Node.js avec Express sur Azure Cloud Services (classique)

Important

Services Cloud (classique) est désormais déconseillé pour les nouveaux clients et sera supprimé le 31 août 2024 pour tous les clients. Les nouveaux déploiements doivent utiliser le nouveau modèle de déploiement basé sur Azure Resource Manager Azure Cloud Services (support étendu) .

Node.js inclut un ensemble minimal de fonctionnalités dans le runtime principal. Les développeurs utilisent souvent des modules tiers pour fournir des fonctionnalités supplémentaires lors du développement d'une application Node.js. Dans ce tutoriel, vous allez créer une application en utilisant le module Express, qui fournit un framework MVC pour la création d’applications web Node.js.

Voici une capture d’écran de l’application terminée :

A web browser displaying Welcome to Express in Azure

Création d'un projet de service cloud

Notes

Pour terminer cette section, vous devez avoir installé Node.js et le Kit de développement logiciel (SDK) Azure pour Node.js sur votre plateforme.

Procédez comme suit pour créer un projet de service cloud nommé expressapp :

  1. À partir du menu Démarrer ou de l’écran d’accueil, recherchez Windows PowerShell. Enfin, cliquez avec le bouton droit sur Windows PowerShell et sélectionnez Exécuter en tant qu’administrateur.

    Azure PowerShell icon

  2. Remplacez les répertoires du répertoire c:\node, puis entrez les commandes suivantes pour créer une solution nommée expressapp et un rôle web nommé WebRole1 :

    PS C:\node> New-AzureServiceProject expressapp
    PS C:\Node\expressapp> Add-AzureNodeWebRole
    PS C:\Node\expressapp> Set-AzureServiceProjectRole WebRole1 Node 0.10.21
    

    Notes

    Par défaut, Add-AzureNodeWebRole utilise une ancienne version de Node.js. L'instruction Set-AzureServiceProjectRole ci-dessus indique à Azure d'utiliser la version v0.10.21 de Node. Notez que les paramètres respectent la casse. Vous pouvez vérifier que la version correcte de Node.js a été sélectionnée en vérifiant la propriété moteurs dans WebRole1\package.json.

Installation d'Express

  1. Installez le générateur Express en exécutant la commande suivante :

    PS C:\node\expressapp> npm install express-generator -g
    

    Le résultat de la commande npm doit ressembler à l'exemple ci-dessous :

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

  2. Remplacez les répertoires du répertoire WebRole1 et utilisez la commande express pour créer une application :

    PS C:\node\expressapp\WebRole1> express
    

    Vous êtes invité à remplacer votre application précédente. Tapez y ou yes pour continuer. Express génère le fichier app.js et une structure de dossiers pour la création de votre application.

    The output of the express command

  3. Pour installer les dépendances supplémentaires définies dans le fichier package.json, entrez la commande suivante :

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

    The output of the npm install command

  4. Utilisez la commande suivante pour copier le fichier bin/www vers server.js. De cette façon, le service cloud peut trouver le point d'entrée pour cette application.

    PS C:\node\expressapp\WebRole1> copy bin/www server.js
    

    Une fois cette commande terminée, un fichier server.js doit se trouver dans le répertoire WebRole1.

  5. Modifiez server.js pour supprimer l’un des caractères « . » de la ligne suivante.

    var app = require('../app');
    

    Une fois cette modification apportée, la ligne doit apparaître comme suit.

    var app = require('./app');
    

    Cette modification est nécessaire, car nous avons déplacé le fichier (anciennement bin/www) vers le même répertoire que le fichier d’application requis. Une fois cette modification effectuée, enregistrez le fichier server.js .

  6. Utilisez la commande suivante pour exécuter l'application dans l'émulateur Azure :

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

    A web page containing welcome to express.

Modification de la vue

À présent, modifiez la vue pour afficher le message « Bienvenue sur Express dans Azure ».

  1. Entrez la commande suivante pour ouvrir le fichier index.jade :

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

    The contents of the index.jade file.

    Jade est le moteur de vue par défaut des applications Express.

  2. Modifiez la dernière ligne du texte en ajoutant dans Azure.

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

  3. Enregistrez le fichier et quittez le Bloc-notes.

  4. Actualisez votre navigateur pour afficher vos modifications.

    A browser window, the page contains Welcome to Express in Azure

Après avoir testé l'application, utilisez la cmdlet Stop-AzureEmulator pour arrêter l'émulateur.

Publication de l'application dans Azure

Dans la fenêtre Azure PowerShell, utilisez la cmdlet Publish-AzureServiceProject pour déployer l'application dans un service cloud.

PS C:\node\expressapp\WebRole1> Publish-AzureServiceProject -ServiceName myexpressapp -Location "East US" -Launch

Une fois le déploiement terminé, votre navigateur s'ouvre et affiche la page web.

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

Étapes suivantes

Pour plus d’informations, consultez le Centre pour développeurs Node.js.