Per impostazione predefinita, il runtime node.js eseguirà npm run build
se uno script build
viene rilevato in package.json
file. Se hai bisogno di un controllo aggiuntivo sulla build
passaggi prima di avviare l'applicazione, puoi fornire una build personalizzata
passaggio. Puoi eseguire passaggi di build personalizzati aggiungendo gcp-build
nel tuo
package.json
file.
Per impedire alla build di eseguire lo script npm run build
, devi:
- Aggiungi uno script
gcp-build
con un valore vuoto nel filepackage.json
:"gcp-build":""
. Per informazioni dettagliate sulla configurazione dipackage.json
, consulta Configurazioni dei buildpack Node.js. Aggiungi la variabile di ambiente di compilazione
GOOGLE_NODE_RUN_SCRIPTS
con un valore vuoto nel fileapp.yaml
.build_env_variables: GOOGLE_NODE_RUN_SCRIPTS: ''
build_env_variables
nel file app.yaml
.
Quando viene eseguito questo script, le dipendenze in dependencies
e
devDependencies
campi del file package.json
sono disponibili.
Dopo aver eseguito il passaggio di compilazione personalizzato, App Engine rimuove e rigenera la
cartella node_modules
installando solo le dipendenze di produzione dichiarate
nel campo dependencies
del file package.json
.
Per ulteriori informazioni su come configurare il runtime per i passaggi di compilazione personalizzati, consulta Eseguire i passaggi di compilazione personalizzati durante il deployment per i buildpack Node.js.
Esempio
Uno script di compilazione personalizzato può essere utilizzato per attività di preelaborazione, come la preelaborazione del CSS, la minimizzazione del codice JavaScript lato client o l'esecuzione di strumenti come webpack
o gulp
.
Ad esempio, per compilare TypeScript in JavaScript, il file package.json
potrebbe avere il seguente aspetto. Nota lo script gcp-build
:
Gestione dei file statici
Quando generi o copi i file durante il passaggio di build personalizzato, App Engine
non pubblicare questi file statici direttamente dalla tua app utilizzando il
static_dir
oppure static_files
elementi definiti nel file app.yaml
. App Engine carica invece
i file statici nell'infrastruttura di pubblicazione nell'ambiente standard
prima di eseguire il passaggio di build personalizzato. Qualsiasi richiesta ai file generati o copiati durante il passaggio di compilazione personalizzato genera un errore HTTP 404 NOT FOUND
.