Puoi specificare le dipendenze per l'app Node.js dichiarando
nel file package.json
.
Ad esempio, se vuoi specificare Lodash
come dipendenza, il file package.json
potrebbe avere il seguente aspetto:
{
"dependencies": {
"lodash": "^4.0.1"
}
}
Durante il deployment, il runtime Node.js
installa automaticamente
tutti i dependencies
dichiarati nel file package.json
. Per impostazione predefinita,
Viene utilizzato il comando npm install
, ma vengono usati anche i gestori di pacchetti Yarn e Pnpm
supportati:
Yarn: se esiste un file
yarn.lock
, viene utilizzato il comandoyarn install --production
.Pnpm: se esiste un file
pnpm-lock.yaml
, viene utilizzato il comandopnpm install
.
Tieni presente che devi assicurarti che il file yarn.lock
o pnpm-lock.yaml
sia
non specificato nella sezione skip_files
del file app.yaml
.
Per impostazione predefinita, App Engine memorizza nella cache le dipendenze recuperate per ridurre volte. Per installare una versione non memorizzata nella cache della dipendenza, utilizza il comando:
gcloud app deploy --no-cache
Supporto e limitazioni per il file package.json
nel file standard
questo ambiente:
Puoi utilizzare qualsiasi pacchetto Node.js compatibile con Linux App Engine, inclusi i pacchetti che richiedono estensioni native (C).
Se il campo
engines
è specificato inpackage.json
, devi definire una versione di Node.js compatibile.Tutte le dipendenze definite nel campo
devDependencies
vengono vengano ignorati e non vengono installati per la tua app in App Engine.Per un rendimento ottimale, lo script
start
deve essere leggero ed escludere i passaggi di compilazione perché viene eseguito ogni volta che viene creata una nuova istanza dell'applicazione.
Dipendenze private con Artifact Registry
Se la tua app utilizza un modulo npm privato, puoi utilizzare un repository di pacchetti Node.js di Artifact Registry per ospitare le dipendenze private. Quando esegui il deployment della tua app, il processo di compilazione
genera automaticamente le credenziali Artifact Registry
Account di servizio Cloud Build
senza bisogno di generare altre credenziali.
Per includere le dipendenze private, elenca il repository Artifact Registry e configura le impostazioni per l'autenticazione con il registry nel file .npmrc
nella directory dell'app. Ad esempio:
@SCOPE:registry=https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
//REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME:always-auth=true
Tieni presente che questo approccio funziona anche per il gestore dei pacchetti Yarn 1.
Se utilizzi Yarn 2 o versioni successive, elenca il repository Artifact Registry e configura le impostazioni per l'autenticazione con il registry nel file .yarnrc.yml
nella directory dell'app. Ad esempio:
npmScopes:
SCOPE:
npmRegistryServer: https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
npmAlwaysAuth: true
Successivamente, includi i pacchetti nel file package.json
. Ad esempio:
{
"dependencies": {
" @SCOPE/my-package": "^1.0.0"
}
}
Installazione di un framework web
Dovrai usare un framework web per consentire alla tua app di gestire le richieste web. Tu puoi utilizzare qualsiasi framework web Node.js, tra cui:
Per utilizzare un determinato framework web, ad esempio Express.js, aggiungi il framework al file package.json
:
Utilizzando npm:
npm install --save express
Uso del filato:
yarn add express
Se utilizzi pnpm:
pnpm add express
Ad esempio, il file package.json
risultante potrebbe avere il seguente aspetto:
{
"dependencies": {
"lodash": "^4.0.1",
"express": "^4.16.2"
}
}
Installazione delle librerie client Cloud
Le librerie client di Cloud per Node.js è la modalità idiomatica utilizzata dagli sviluppatori Node.js per l'integrazione con Google Cloud come Firestore in modalità Datastore (Datastore) e Cloud Storage.
Per installare la libreria client Node.js per Cloud Storage:
Installa le librerie client di Cloud in locale utilizzando un gestore di pacchetti:
Per utilizzare
npm
, esegui:npm install --save @google-cloud/storage
Per utilizzare
yarn
, esegui:yarn add @google-cloud/storage
Per utilizzare
pnpm
, esegui:pnpm add @google-cloud/storage
Configurare l'autenticazione. Puoi configurare le librerie client Cloud per Node.js in modo che gestiscono automaticamente l'autenticazione.
Utilizza la documentazione di riferimento della libreria client Node.js per Cloud Storage per implementare il supporto del servizio Cloud Storage nella tua app.