Menentukan dependensi

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, perintah yarn install --production akan digunakan.

  • Pnpm: Jika file pnpm-lock.yaml ada, perintah pnpm 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 dalam package.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:

  1. 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
  2. Menyiapkan autentikasi. Anda dapat mengonfigurasi Library Klien Cloud untuk Node.js agar menangani autentikasi secara otomatis.

  3. Gunakan referensi library klien Node.js untuk Cloud Storage guna menerapkan dukungan untuk layanan Cloud Storage di aplikasi Anda.