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 :
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.
- Installez le kit de développement logiciel (SDK) Windows Azure pour Node.js : programme d’installation Windows
Procédez comme suit pour créer un projet de service cloud nommé expressapp
:
À 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.
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
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 :
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.
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
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.
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 .Utilisez la commande suivante pour exécuter l'application dans l'émulateur Azure :
PS C:\node\expressapp\WebRole1> Start-AzureEmulator -launch
Modification de la vue
À présent, modifiez la vue pour afficher le message « Bienvenue sur Express dans Azure ».
Entrez la commande suivante pour ouvrir le fichier index.jade :
PS C:\node\expressapp\WebRole1> notepad views/index.jade
Jade est le moteur de vue par défaut des applications Express.
Modifiez la dernière ligne du texte en ajoutant dans Azure.
Enregistrez le fichier et quittez le Bloc-notes.
Actualisez votre navigateur pour afficher vos modifications.
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.
Étapes suivantes
Pour plus d’informations, consultez le Centre pour développeurs Node.js.