解決済み: ワーカー モジュールを Firebase 構成モジュールに同時にインポートして初期化すると同時に、Firebase 構成モジュールをワーカー モジュールにインポートすることにより、循環依存関係を作成していました!!! うわー、後から考えるとばかげているように思えます。私は髪を引き裂いていました!
したがって、これは本質的にこの問題の複製です: requirejs を使用してノードの循環依存関係を解決する
最初にワーカーを導入し、次にfirebaseを定義していたので、必要なワーカーモジュールの段階では明らかに定義されていませんでした。
オリジナル - - - - - - - - - -
私のクライアント アプリでは、Firebase アプリを初期化してから、その初期化されたアプリをモジュールとしてエクスポートし、それを他の場所にインポートできる 1 つのファイルを持つというパターンを使用する傾向があります。ノードサーバーでこの Firebase Admin を試していますが、未定義として表示され続けます。
Firebase Admin アプリを初期化し、そのインスタンスを他のモジュールで使用するためのベスト プラクティスは何ですか? ありがとう
編集:申し訳ありませんコードを追加しました。いくつかの手順を省略しましたが、firebase インスタンスはこのファイル内で正常に機能します。エクスポートに問題があるだけです。
const admin = require("firebase-admin");
const Admin = admin.initializeApp({
credential: "my_credential",
databaseURL: "my database"
});
module.exports.Admin = Admin;
次に、他の場所でその管理者をインポートして参照を追加しようとしています。
const firebase = require('../myFirebaseModule);
const Admin = firebase.Admin;
const ref = Admin.database().ref();
しかし、未定義であるというエラーが発生します。または、別のファイルのモジュールではなく、パッケージからfirebase adminを取り込もうとすると、たとえば
const admin = require("firebase-admin");
それは私がそれを初期化する必要があると言います。乾杯。