Creare e distribuire un'applicazione Web Node.js usando Express in Servizi cloud di Azure (versione classica)

Importante

Servizi cloud (versione classica) è ora deprecato per i nuovi clienti e verrà ritirato il 31 agosto 2024 per tutti i clienti. Le nuove distribuzioni devono usare il nuovo modello di distribuzione basato su Azure Resource Manager, Servizi cloud di Azure (supporto "Extended").

Node.js include un set minimo di funzionalità nel runtime core. Gli sviluppatori usano spesso moduli di terze parti per fornire funzionalità aggiuntive durante lo sviluppo di un'applicazione Node.js. In questa esercitazione si creerà una nuova applicazione usando il modulo Express che fornisce un framework MVC per la creazione di applicazioni Web Node.js.

Di seguito è riportata una schermata dell'applicazione completata:

A web browser displaying Welcome to Express in Azure

Creazione di un progetto di servizio cloud

Nota

Per completare questa sezione, è necessario avere un'installazione funzionante di Node.js e di Azure SDK per Node.js per la piattaforma.

Eseguire la procedura seguente per creare un nuovo progetto di servizio cloud denominato expressapp:

  1. Nel menu Start o nella schermata Start cercare Windows PowerShell. Fare infine clic con il pulsante destro del mouse su Windows PowerShell e scegliere Esegui come amministratore.

    Azure PowerShell icon

  2. Passare alla directory c:node e immettere i comandi seguenti per creare una nuova soluzione denominata expressapp e un ruolo Web denominato 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

    Per impostazione predefinita, in Add-AzureNodeWebRole viene usata una versione precedente di Node.js. La precedente istruzione Set-AzureServiceProjectRole indica ad Azure di usare la versione 0.10.21 di Node. Si noti che i parametri fanno distinzione tra maiuscole e minuscole. È possibile verificare di aver selezionato la versione corretta di Node.js controllando la proprietà engines in WebRole1\package.json.

Installare Express

  1. Installare il generatore di Express eseguendo il comando seguente:

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

    L'output del comando npm dovrebbe essere analogo al risultato mostrato di seguito.

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

  2. Passare alla directory WebRole1 e usare il comando express per generare una nuova applicazione:

    PS C:\node\expressapp\WebRole1> express
    

    Verrà richiesto di sovrascrivere l'applicazione precedente. Immettere y o yes per continuare. Express genererà il file app.js e una struttura di cartelle per creare l'applicazione.

    The output of the express command

  3. Per installare le dipendenze aggiuntive definite nel file package.json, immettere il comando seguente:

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

    The output of the npm install command

  4. Usare il comando seguente per copiare il file bin/www in server.js. In questo modo, il servizio cloud potrà trovare il punto di ingresso per questa applicazione.

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

    Dopo il completamento del comando, nella directory WebRole1 dovrebbe essere presente un file server.js .

  5. Modificare il file server.js rimuovendo uno dei caratteri '.' dalla riga seguente.

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

    Dopo questa modifica la riga dovrebbe avere un aspetto analogo al seguente.

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

    Questa modifica è obbligatoria perché il file (in precedenza bin/www) è stato spostato nella stessa directory del file dell'app richiesto. Al termine di questa modifica, salvare il file server.js .

  6. Utilizzare il comando seguente per eseguire l'applicazione nell'emulatore di Azure:

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

    A web page containing welcome to express.

Modifica della visualizzazione

Modificare le visualizzazione in modo che il messaggio visualizzato sia "Welcome to Express in Azure".

  1. Immettere il comando seguente per aprire il file index.jade:

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

    The contents of the index.jade file.

    Jade è il motore di visualizzazione predefinito utilizzato dalle applicazioni Express.

  2. Modificare l'ultima riga di testo aggiungendo in Azure.

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

  3. Salvare il file e chiudere il Blocco note.

  4. Aggiornare il browser per vedere le modifiche.

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

Dopo aver testato l'applicazione, usare il cmdlet Stop-AzureEmulator per arrestare l'emulatore.

Pubblicazione dell'applicazione in Azure

Nella finestra di Azure PowerShell usare il cmdlet Publish-AzureServiceProject per distribuire l'applicazione a un servizio di cloud

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

Al termine dell'operazione di distribuzione, verrà aperto il browser e verrà visualizzata la pagina Web.

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

Passaggi successivi

Per ulteriori informazioni, vedere il Centro per sviluppatori di Node.js.