package.json
. Die Laufzeiten der Cloud-Funktionen Node.js unterstützen im Allgemeinen die Installation mit npm oder Garn . Um eine Abhängigkeit für Ihre Funktion anzugeben, fügen Sie sie Ihrer Datei package.json
.
In diesem Beispiel ist eine Abhängigkeit in der Datei package.json
:
{ "dependencies": { "escape-html": "^1.0.3" } }
Die Abhängigkeit wird dann in die Funktion importiert:
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')}!`);
});
Typoskript
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')}!`);
}
Einschließlich lokaler Node.js-Module
Sie können auch lokale Node.js-Module als Teil Ihrer Funktion einbeziehen. Sie können dies erreichen, indem Sie Ihr Modul in package.json
mit dem Präfix file:
deklarieren. Im folgenden Beispiel bezieht sich mymodule
auf Ihren mymoduledir
und mymoduledir
ist das Verzeichnis, das Ihr Modul enthält:
{ "dependencies": { "mymodule": "file:mymoduledir" } }
Der Code für dieses lokale Modul sollte an einem anderen Ort als dem Ordner node_modules
im Stammverzeichnis Ihrer Funktion gespeichert werden.
Zusätzliche Schritte für TypeScript
TypeScript hilft Ihnen am meisten, wenn Sie Bibliotheken mit Typinformationen verwenden. Auf diese Weise kann TypeScript Syntaxfehler abfangen und Editoren geben Ihnen bessere Vorschläge für die automatische Vervollständigung. Einige Bibliotheken, wie firebase-admin
und firebase-functions
, werden mit TypeScript-Definitionen geliefert.
Viele Bibliotheken bieten keine eigene TypeScript-Definition. Das DefinitelyTyped- Projekt bietet von der Community verwaltete Definitionen für die beliebtesten Knotenbibliotheken. DefinitelyTyped veröffentlicht diese Definitionen unter demselben NPM-Paketnamen, jedoch innerhalb der Organisation "@types". Beispielsweise können Sie die uuid
für die uuid
Bibliothek folgendermaßen installieren:
npm install @types/uuid
Wenn Sie sich mit TypeScript vertraut machen, kombinieren Sie möglicherweise beide Installationen:
npm install uuid @types/uuid
Typabhängigkeiten sollten mit der Bibliotheksabhängigkeit identisch sein. Beispielsweise sollten Sie uuid
als normale Abhängigkeit und @types/uuid
als Dev-Abhängigkeit oder Peer-Abhängigkeit speichern.
Laden von Node.js-Modulen
Verwenden Sie die Funktion Node.js require()
, um ein von Ihnen installiertes Node.js-Modul zu laden. Sie können auch die Funktion require()
verwenden, um lokale Dateien zu importieren, die Sie neben Ihrer Funktion bereitstellen.
import
Anweisung auf die gleiche Weise, um alle von Ihnen installierten Node.js-Module zu laden.Private Module verwenden
Um ein privates npm-Modul verwenden zu können , müssen Sie Anmeldeinformationen (Authentifizierungstoken) für die npm-Registrierung in einer .npmrc
Datei im Verzeichnis der Funktion .npmrc
. In der npm-Dokumentation wird erläutert, wie Sie benutzerdefinierte schreibgeschützte Zugriffstoken erstellen. Wir .npmrc
davon ab, die im Home-Verzeichnis erstellte .npmrc
Datei zu verwenden, da sie ein Lese- / Schreib-Token enthält. Schreibberechtigungen sind während der Bereitstellung nicht erforderlich und können ein Sicherheitsrisiko darstellen.
.npmrc
Sie die .npmrc
Datei nicht .npmrc
, wenn Sie keine privaten Repositorys verwenden, da dies die Bereitstellungszeit für Ihre Funktionen verlängern kann.
Datei Format
Wenn Sie eine .npmrc
Datei verwenden, um ein benutzerdefiniertes .npmrc
, sollte diese die unten gezeigte Zeile enthalten. Ersetzen Sie <YOUR_AUTH_TOKEN>
durch Ihr von NPM bereitgestelltes Authentifizierungstoken.
//registry.npmjs.org/:_authToken=<YOUR_AUTH_TOKEN>