Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo della piattaforma Node.js di
La piattaforma AWS App Runner Node.js fornisce runtime gestiti. Ogni runtime semplifica la creazione e l'esecuzione di contenitori con applicazioni Web basate su una versione Node.js. Quando si utilizza un runtime Node.js, App Runner si avvia con un'immagine di runtime Node.js gestita. Questa immagine è basata sull'immagine Docker di Amazon Linux
Si specifica un runtime per il servizio App Runner quando si crea un servizio utilizzando la console App Runner o l'CreateServiceoperazione API. Puoi anche specificare un runtime come parte del codice sorgente. Usa la runtime
parola chiave in un file di configurazione di App Runner che includi nel tuo repository di codice. La convenzione di denominazione di un runtime gestito è. <language-name><major-version>
Per i nomi e le versioni di runtime di Node.js validi, vedereInformazioni sulla versione di runtime di Node.js.
App Runner aggiorna il runtime del servizio alla versione più recente a ogni distribuzione o aggiornamento del servizio. Se l'applicazione richiede una versione specifica di un runtime gestito, è possibile specificarla utilizzando la runtime-version
parola chiave nel file di configurazione di App Runner. È possibile utilizzare qualsiasi livello di versione, inclusa una versione principale o secondaria. App Runner effettua solo aggiornamenti di livello inferiore al runtime del servizio.
Sintassi della versione per i runtime di Node.js: major
[.minor
[.patch
]]
Ad esempio: 12.21.0
Gli esempi seguenti mostrano il blocco della versione:
-
12.21
— Blocca le versioni principali e secondarie. App Runner aggiorna solo le versioni patch. -
12.21.0
— Blocca a una versione di patch specifica. App Runner non aggiorna la versione di runtime.
Argomenti
Configurazione del runtime di Node.js
Quando scegli un runtime gestito, devi anche configurare, come minimo, creare ed eseguire comandi. Li configuri durante la creazione o l'aggiornamento del servizio App Runner. Puoi farlo utilizzando uno dei seguenti metodi:
-
Utilizzo della console App Runner: specifica i comandi nella sezione Configure build del processo di creazione o della scheda di configurazione.
-
Utilizzo dell'API App Runner: richiama l'operazione CreateServiceor UpdateServiceAPI. Specificate i comandi utilizzando i
StartCommand
membriBuildCommand
e del tipo di CodeConfigurationValuesdati. -
Utilizzo di un file di configurazione: specifica uno o più comandi di compilazione in un massimo di tre fasi di compilazione e un singolo comando di esecuzione che serve per avviare l'applicazione. Sono disponibili impostazioni di configurazione opzionali aggiuntive.
Fornire un file di configurazione è facoltativo. Quando crei un servizio App Runner utilizzando la console o l'API, specifichi se App Runner ottiene le impostazioni di configurazione direttamente al momento della creazione o da un file di configurazione.
In particolare, con i runtime di Node.js, puoi anche configurare la build e il runtime utilizzando un file JSON denominato package.json
nella radice del tuo repository di origine. Utilizzando questo file, è possibile configurare la versione del motore Node.js, i pacchetti di dipendenze e vari comandi (applicazioni a riga di comando). I gestori di pacchetti come npm o yarn interpretano questo file come input per i loro comandi.
Per esempio:
-
npm installinstalla i pacchetti definiti dal nodo
dependencies
anddevDependencies
in.package.json
-
npm starto npm run start esegue il comando definito dal
scripts/start
nodo inpackage.json
.
Di seguito è riportato un esempio del file package.json
.
{ "name": "node-js-getting-started", "version": "0.3.0", "description": "A sample Node.js app using Express 4", "engines": { "node": "12.21.0" }, "scripts": { "start": "node index.js", "test": "node test.js" }, "dependencies": { "cool-ascii-faces": "^1.3.4", "ejs": "^2.5.6", "express": "^4.15.2" }, "devDependencies": { "got": "^11.3.0", "tape": "^4.7.0" } }
Per ulteriori informazioni supackage.json
, vedere Creazione di un file package.json
Suggerimenti
-
Se il
package.json
file definisce un start comando, è possibile utilizzarlo come comando nel file di configurazione di App Runner, come illustrato nell'esempio run seguente.pacchetto.json
{ "scripts": { "start": "node index.js" } }
apprunner.yaml
run: command: npm start
-
Quando esegui npm install nel tuo ambiente di sviluppo, npm crea il file.
package-lock.json
Questo file contiene un'istantanea delle versioni del pacchetto appena installate da npm. Successivamente, quando npm installa le dipendenze, utilizza queste versioni esatte. Se installi yarn, crea un file.yarn.lock
Salva questi file nel tuo repository del codice sorgente per assicurarti che l'applicazione sia installata con le versioni delle dipendenze che hai sviluppato e con cui l'hai testata. -
È inoltre possibile utilizzare un file di configurazione di App Runner per configurare la versione di Node.js e il comando start. Quando si esegue questa operazione, queste definizioni sostituiscono quelle incluse.
package.json
Un conflitto tra lanode
versione inpackage.json
e ilruntime-version
valore nel file di configurazione di App Runner causa il fallimento della fase di compilazione di App Runner.
Callout per versioni di runtime specifiche
Node.js 18 (build App Runner rivista)
App Runner ora esegue un processo di compilazione aggiornato per le applicazioni basate sulle seguenti versioni di runtime: Python 3.11 e Node.js 18. Se l'applicazione viene eseguita su una di queste versioni di runtime, consulta Versioni di runtime gestite e build di App Runner per ulteriori informazioni sul processo di compilazione rivisto. Le applicazioni che utilizzano tutte le altre versioni di runtime non sono interessate e continuano a utilizzare il processo di compilazione originale.
Esempi di runtime di Node.js
Gli esempi seguenti mostrano i file di configurazione di App Runner per la creazione e l'esecuzione di un servizio Node.js.
Nota
La versione di runtime utilizzata in questi esempi è
Puoi sostituirla con una versione che desideri utilizzare. Per l'ultima versione di runtime supportata di Node.js, vedereInformazioni sulla versione di runtime di Node.js.12.21.0 e 18.19.0
.
Questo esempio mostra un file di configurazione minimo che è possibile utilizzare con un runtime gestito da Node.js. Per i presupposti che App Runner fa con un file di configurazione minimo, vedi. Esempi di file di configurazione
Esempio apprunner.yaml
version: 1.0 runtime: nodejs12 build: commands: build: - npm install --production run: command: node app.js
Questo esempio mostra l'uso di tutte le chiavi di configurazione con un runtime gestito da Node.js.
Nota
La versione di runtime utilizzata in questi esempi è 12.21.0
. Puoi sostituirla con una versione che desideri utilizzare. Per l'ultima versione di runtime supportata di Node.js, vedereInformazioni sulla versione di runtime di Node.js.
Esempio apprunner.yaml
version: 1.0 runtime: nodejs12 build: commands: pre-build: - npm install --only=dev - node test.js build: - npm install --production post-build: - node node_modules/ejs/postinstall.js env: - name: MY_VAR_EXAMPLE value: "example" run: runtime-version:
12.21.0
command: node app.js network: port: 8000 env: APP_PORT env: - name: MY_VAR_EXAMPLE value: "example"
Questo esempio mostra l'uso di tutte le chiavi di configurazione con un runtime gestito da Node.js in. apprunner.yaml
Questo esempio include una pre-run
sezione, poiché questa versione di Node.js utilizza la build aggiornata di App Runner.
Il pre-run
parametro è supportato solo dalla build aggiornata di App Runner. Non inserire questo parametro nel file di configurazione se l'applicazione utilizza versioni di runtime supportate dalla build originale di App Runner. Per ulteriori informazioni, consulta Versioni di runtime gestite e build di App Runner.
Nota
La versione di runtime utilizzata in questi esempi è la 18.19.0
. Puoi sostituirla con una versione che desideri utilizzare. Per l'ultima versione di runtime supportata di Node.js, vedereInformazioni sulla versione di runtime di Node.js.
Esempio apprunner.yaml
version: 1.0 runtime: nodejs18 build: commands: pre-build: - npm install --only=dev - node test.js build: - npm install --production post-build: - node node_modules/ejs/postinstall.js env: - name: MY_VAR_EXAMPLE value: "example" run: runtime-version:
18.19.0
pre-run: - node copy-global-files.js command: node app.js network: port: 8000 env: APP_PORT env: - name: MY_VAR_EXAMPLE value: "example"
Questo esempio mostra come configurare un'applicazione Node.js sviluppata con Grunt. GruntGruntfile.js
file nella radice del repository di origine.
Esempio package.json
{ "scripts": { "build": "grunt uglify", "start": "node app.js" }, "devDependencies": { "grunt": "~0.4.5", "grunt-contrib-jshint": "~0.10.0", "grunt-contrib-nodeunit": "~0.4.1", "grunt-contrib-uglify": "~0.5.0" }, "dependencies": { "express": "^4.15.2" }, }
Esempio Gruntfile.js
module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' }, build: { src: 'src/<%= pkg.name %>.js', dest: 'build/<%= pkg.name %>.min.js' } } }); // Load the plugin that provides the "uglify" task. grunt.loadNpmTasks('grunt-contrib-uglify'); // Default task(s). grunt.registerTask('default', ['uglify']); };
Esempio apprunner.yaml
Nota
La versione di runtime utilizzata in questi esempi è 12.21.0.
Puoi sostituirla con una versione che desideri utilizzare. Per l'ultima versione di runtime supportata di Node.js, vedereInformazioni sulla versione di runtime di Node.js.
version: 1.0 runtime: nodejs12 build: commands: pre-build: - npm install grunt grunt-cli - npm install --only=dev - npm run build build: - npm install --production run: runtime-version:
12.21.0
command: node app.js network: port: 8000 env: APP_PORT