Anda menentukan dependensi untuk aplikasi Node.js dengan mendeklarasikannya
dalam file package.json
.
Misalnya, jika Anda ingin menentukan Lodash
sebagai dependensi, file package.json
Anda mungkin akan terlihat seperti berikut:
{
"dependencies": {
"lodash": "^4.0.1"
}
}
Selama deployment, runtime Node.js
otomatis menginstal
semua dependencies
yang dideklarasikan dalam file package.json
Anda. Secara default, perintah
npm install
digunakan, tetapi pengelola paket Yarn dan Pnpm juga
didukung:
Yarn: Jika file
yarn.lock
ada, perintahyarn install --production
akan digunakan.Pnpm: Jika file
pnpm-lock.yaml
ada, perintahpnpm install
yang akan digunakan.
Perhatikan bahwa Anda harus memastikan file yarn.lock
atau pnpm-lock.yaml
tidak disertakan di bagian skip_files
pada file app.yaml
Anda.
Secara default, App Engine meng-cache dependensi untuk mengurangi waktu build. Untuk menginstal versi dependensi yang tidak disimpan dalam cache, gunakan perintah:
gcloud app deploy --no-cache
Dukungan dan batasan untuk file package.json
di lingkungan
standar:
Anda dapat menggunakan paket Node.js yang kompatibel dengan Linux dengan App Engine, termasuk paket yang memerlukan ekstensi (C) native.
Jika kolom
engines
ditentukan dalampackage.json
, Anda harus menentukan versi Node.js yang kompatibel.Semua dependensi yang Anda tentukan dalam kolom
devDependencies
akan diabaikan dan tidak diinstal untuk aplikasi Anda di App Engine.Skrip
start
harus ringan dan tidak menyertakan langkah-langkah build untuk mendapatkan performa terbaik karena skrip akan berjalan setiap kali instance baru pada aplikasi Anda dibuat.
Dependensi pribadi dengan Artifact Registry
Jika aplikasi menggunakan modul npm pribadi, Anda dapat menggunakan repositori paket Node.js Artifact Registry untuk menghosting dependensi pribadi. Saat Anda men-deploy aplikasi, proses build otomatis menghasilkan
kredensial Artifact Registry untuk akun layanan Cloud Build
sehingga Anda tidak perlu membuat kredensial tambahan.
Untuk menyertakan dependensi pribadi, cantumkan repositori Artifact Registry dan konfigurasikan setelan untuk mengautentikasi dengan registry di file .npmrc
Anda dalam direktori aplikasi. Contoh:
@SCOPE:registry=https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
//REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME:always-auth=true
Perhatikan bahwa pendekatan ini juga berfungsi untuk pengelola paket Yarn v1.
Jika Anda menggunakan Yarn v2 atau yang lebih baru, cantumkan repositori Artifact Registry dan konfigurasikan setelan untuk mengautentikasi dengan registry di file .yarnrc.yml
Anda dalam direktori aplikasi. Contoh:
npmScopes:
SCOPE:
npmRegistryServer: https://REGION_ID-npm.pkg.dev/PROJECT_ID/REPOSITORY_NAME
npmAlwaysAuth: true
Setelah itu, sertakan paket Anda dalam file package.json
Anda. Contoh:
{
"dependencies": {
" @SCOPE/my-package": "^1.0.0"
}
}
Menginstal framework web
Anda harus menggunakan framework web agar aplikasi dapat melayani permintaan web. Anda dapat menggunakan framework web Node.js apa pun termasuk yang berikut ini:
Untuk menggunakan framework web tertentu, seperti Express.js, tambahkan framework ke file package.json
:
Menggunakan npm:
npm install --save express
Menggunakan yarn:
yarn add express
Menggunakan pnpm:
pnpm add express
Misalnya, file package.json
yang dihasilkan mungkin terlihat seperti berikut:
{
"dependencies": {
"lodash": "^4.0.1",
"express": "^4.16.2"
}
}
Menginstal Library Klien Cloud
Library Klien Cloud untuk Node.js adalah cara idiomatis bagi developer Node.js untuk berintegrasi dengan layanan Google Cloud, seperti Firestore dalam mode Datastore (Datastore) dan Cloud Storage.
Cara menginstal library klien Node.js untuk Cloud Storage:
Instal Library Klien Cloud secara lokal menggunakan pengelola paket:
Untuk menggunakan
npm
, jalankan:npm install --save @google-cloud/storage
Untuk menggunakan
yarn
, jalankan:yarn add @google-cloud/storage
Untuk menggunakan
pnpm
, jalankan:pnpm add @google-cloud/storage
Menyiapkan autentikasi. Anda dapat mengonfigurasi Library Klien Cloud untuk Node.js agar menangani autentikasi secara otomatis.
Gunakan referensi library klien Node.js untuk Cloud Storage guna menerapkan dukungan untuk layanan Cloud Storage di aplikasi Anda.