Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Bağımlılıkları işleme

Bir işlevin yerel verilerin yanı sıra harici Node.js modüllerini kullanmasına izin verilir. Node.js'deki bağımlılıklar npm ile yönetilir ve package.json adlı bir meta veri dosyasında ifade edilir. Cloud Functions Node.js çalışma zamanları genellikle npm veya iplik kullanarak yüklemeyi destekler.

İşlevinize bir bağımlılık belirtmek için bunu package.json dosyanıza ekleyin.

Bu örnekte, package.json dosyasında bir bağımlılık listelenmiştir:

{
  "dependencies": {
    "escape-html": "^1.0.3"
  }
}

Bağımlılık daha sonra işleve aktarılır:

JavaScript

const escapeHtml = require('escape-html');

// Return a greeting with the input HTML-escaped.
exports.hello = functions.https.onRequest((req, res) => {
  res.send(`Hello ${escapeHtml(req.query.name || req.body.name || 'World')}!`);
});

TypeScript

import * as escapeHtml from 'escape-html';

// Return a greeting with the input HTML-escaped.
export let hello = functions.https.onRequest((req, res) => {
  res.send(`Hello ${escapeHtml(req.query.name || req.body.name || 'World')}!`);
}

Dağıtım paketinizin bir parçası olarak yerel Node.js modüllerini dahil etme

İşlevinizin bir parçası olarak yerel Node.js modüllerini de dahil edebilirsiniz. Bunu, modülünüzü package.json içinde file: prefix kullanarak bildirerek başarabilirsiniz. Aşağıdaki örnekte, mymodule , modül adınızı ifade eder ve mymoduledir , modülünüzü içeren dizindir:

{
  "dependencies": {
    "mymodule": "file:mymoduledir"
  }
}

Bu yerel modülün kodu, işlevinizin kök dizini içindeki node_modules klasöründen başka bir yerde saklanmalıdır.

Node.js modüllerini yerel olarak yüklemek için npm kullanma

Yerel olarak bir Node.js modülü kurmanın en kolay yolu, Bulut İşlevinizi içeren klasörde npm install komutunu kullanmaktır. Örneğin, aşağıdaki komut uuid modülünü ekler:

npm install uuid

Bu, iki adımı birleştirir:

  1. Modülün en son sürümünü package.json dosyanızda bir bağımlılık olarak işaretler. Bu çok önemlidir: Cloud Functions, yalnızca package.json dosyanızda belirtilen modülleri yükler.
  2. Modülü node_modules dizininize node_modules . Bu, modülü yerel olarak geliştirirken kullanmanıza izin verir.

Makinenizde npm kurulu değilse, npm alın .

TypeScript için ek adımlar

TypeScript, tür bilgilerine sahip kitaplıkları kullandığınızda size en çok yardımcı olur. Bu, TypeScript'in sözdizimi hatalarını yakalamasına ve editörlerin size daha iyi otomatik tamamlama önerileri vermesine olanak tanır. firebase-admin ve firebase-functions gibi bazı kitaplıklar TypeScript tanımlarıyla birlikte gönderilir.

Çoğu kitaplık kendi TypeScript tanımını sağlamaz. DefinitelyTyped projesi, en popüler düğüm kitaplıkları için topluluk tarafından sürdürülen tanımlar sağlar. DefinitelyTyped, bu tanımları aynı NPM paket adı altında ancak "@types" organizasyonu içinde yayınlar. Örneğin, uuid kitaplığı için tür bilgilerini aşağıdakilerle kurabilirsiniz:

npm install @types/uuid

TypeScript'e aşina oldukça, kendinizi her iki kurulumu birleştirirken bulabilirsiniz:

npm install uuid @types/uuid

Tür bağımlılıkları, kitaplık bağımlılığıyla aynı türden olmalıdır. Örneğin, uuid normal bir bağımlılık ve @types/uuid bir dev bağımlılığı veya eş bağımlılığı olarak kaydetmemelisiniz.

Node.js modüllerini yükleme

Yüklediğiniz herhangi bir Node.js modülünü yüklemek için Node.js require() işlevini kullanın. Ayrıca, işlevinizin yanında yerleştirdiğiniz yerel dosyaları içe aktarmak için require() işlevini de kullanabilirsiniz.

TypeScript'te işlevler yazıyorsanız, yüklediğiniz herhangi bir Node.js modülünü yüklemek için import deyimini aynı şekilde kullanın.

Özel modülleri kullanma

Özel bir npm modülünü kullanmak için, işlevin dizininde bulunan bir .npmrc dosyasında npm kayıt defteri için kimlik bilgileri (kimlik belirteci) sağlamanız gerekir. Npm belgeleri , özel salt okunur erişim belirteçlerinin nasıl oluşturulacağını açıklar. Bir okuma-yazma belirteci içerdiğinden, ana dizinde oluşturulan .npmrc dosyasını kullanmaktan vazgeçiriyoruz. Dağıtım sırasında yazma izinleri gerekli değildir ve güvenlik riski oluşturabilir.

Özel depolar kullanmıyorsanız .npmrc dosyasını eklemeyin, çünkü bu, işlevlerinizin dağıtım süresini .npmrc .

Dosya formatı

Özel bir kimlik doğrulama belirteci ayarlamak için bir .npmrc dosyası kullanıyorsanız, aşağıda gösterilen satırı içermelidir. <YOUR_AUTH_TOKEN> NPM tarafından sağlanan kimlik doğrulama jetonunuzla değiştirin.

//registry.npmjs.org/:_authToken=<YOUR_AUTH_TOKEN>