Questa guida mostra come scrivere un servizio web Node.js da eseguire nell'ambiente standard di App Engine. Per saperne di più su il runtime Node.js e sul suo funzionamento, consulta Ambiente di runtime Node.js.
Prima di iniziare
Punti chiave
- Puoi utilizzare le dipendenze elencandole nel tuo
package.jsonfile. Per ulteriori informazioni, consulta Specifica delle dipendenze. - App Engine avvia l'applicazione eseguendo
npm start. - Il server deve essere in ascolto sulla porta specificata da
process.env.PORT, una variabile di ambiente impostata dal runtime di App Engine. - Per eseguire il deployment del servizio in App Engine, devi avere un
app.yamlfile.
Creare un server in ascolto delle richieste HTTP
Il nucleo del servizio web è il server HTTP. Il codice campione in questa guida utilizza il framework Express.js per gestire le richieste HTTP, ma puoi utilizzare il framework web che preferisci.
Crea una nuova cartella denominata
my-nodejs-serviceper il servizio Node.js.Passa alla cartella nel terminale e crea un file
package.jsoneseguendonpm init.Aggiungi Express come dipendenza eseguendo:
npm install expressVerifica che Express venga visualizzato nel campo
dependenciesdel filepackage.json. Ecco un esempio:{ ... "dependencies": { "express": "^4.16.3" } ... }Aggiungi uno script
startal filepackage.json:"scripts": { "start": "node server.js" }Crea un file denominato
server.jsnella stessa cartella e aggiungi il seguente codice:
Si tratta di un server web molto semplice: risponde a tutte le richieste GET al percorso principale ('/') con il testo "Hello from App Engine!" Nota le ultime quattro righe,
in cui il server è impostato per essere in ascolto sulla porta specificata da process.env.PORT,
una variabile di ambiente
impostata dal runtime di App Engine. Se il server non è impostato per essere in ascolto su questa porta, non riceverà richieste.
Tieni presente che se process.env.PORT non è impostata, viene utilizzata la porta 8080 come predefinita. Questa operazione è necessaria per testare l'app localmente, perché process.env.PORT non viene impostata durante le esecuzioni locali, ma solo quando l'app è in esecuzione su App Engine. Puoi utilizzare la porta che preferisci per i test, ma questa guida utilizza 8080.
Eseguire il server localmente
Per eseguire il server localmente:
Esegui
npm startnel terminale. Verrà eseguito il fileserver.js.Indirizza il browser web a
http://localhost:8080.
Dovresti visualizzare una pagina con il testo "Hello from App Engine!"
Creare il file app.yaml
Un file app.yaml specifica le impostazioni per l'ambiente di runtime del servizio App Engine. Il servizio non verrà sottoposto a deployment senza questo file.
Nella cartella
my-nodejs-service, crea un file denominatoapp.yaml.Aggiungi i seguenti contenuti:
Si tratta di un file di configurazione minimo che indica ad App Engine la versione del runtime Node.js. Il file
app.yamlpuò anche specificare le impostazioni di rete, le impostazioni di scalabilità e altro ancora. Per ulteriori informazioni, consulta ilapp.yamlriferimento.
A questo punto, dovresti avere una struttura di file simile alla seguente:
my-nodejs-service/
app.yaml
package.json
server.js
Passaggi successivi
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di App Engine in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova App Engine senza costi