Beim ersten Einsatz einer GAE-App versuche ich, diesem Tutorial zu folgen: Ссылка (siehe Knotencode-Abschnitt).
Ich habe
ausgeführt %Vor% Auf meinem Rechner ist die package.json hier, aber wenn ich gcloud app deploy
verwende, erhalte ich diese Protokolle, wenn ich die App in meinem Browser öffne:
Wie repariere ich das?
Diese Probleme scheinen durch ein Missverständnis darüber verursacht worden zu sein, wie require()
Pfade funktionieren. Sie können keinen absoluten Pfad verwenden, da etwas wie require("/Users/username/somepath")
offensichtlich nicht auf dem Remotecomputer vorhanden ist, wenn die App bereitgestellt wird und der Import fehlschlägt. Die Verwendung von require("serviceAccountKey.json")
wird in node_modules / serviceAccountKey.json relativ zum App-Verzeichnis aussehen.
Wenn Sie serviceAccountKey.json aus dem Stammverzeichnis der App laden möchten, verwenden Sie require("./serviceAccountKey.json")
. Wenn es in einem Unterverzeichnis namens foo unter dem root wäre, würden Sie require("./foo/serviceAccountKey.json")
verwenden. Dies gilt auch für Lademodule generell wie firebase-admin
.
Die NodeJS-Moduldokumentation erläutert den require()
-Mechanismus detaillierter.
Ich könnte das Problem folgendermaßen umgehen: (Übergabe der Parameter serviceAccountkeyFile.json in App.js-Code):
%Vor% Ich hatte ein ähnliches Problem mit gcloud app deploy
Ich habe das Problem gelöst, indem ich die angegebene Abhängigkeit (wepack-dev-server) von devDependencies
auf dependencies
in package.json
verschoben habe.
Falls jemand anderes das gleiche Problem hat, schlage ich vor, sich Ihre Abhängigkeiten in package.json
anzusehen. dependencies
müssen ausgeführt werden, devDependencies
nur, um zu entwickeln, z. B .: Unit-Tests, Coffeescript zu Javascript-Transpilation, Minification,
Tags und Links firebase node.js google-app-engine firebase-admin