「nodefirebasedb.js」でノードを開始します。私のfirebasedb.jsには次のコードが含まれています:
var admin = require("firebase-admin");
var serviceAccount = require("service_account.json");
// Initialize Firebase
var config = {
credential: admin.credential.cert(serviceAccount),
apiKey: "<api key>",
authDomain: "<auth domain>",
databaseURL: "<database url>",
storageBucket: "<storage bucket>",
};
admin.initializeApp(config);
ノードを実行すると、.jsonファイルが存在するディレクトリにいます。しかし、それは言います
Error: Cannot find module 'service_account.json'
必要なパスの相対部分が欠落しています。つまり、次のようなことを行う必要があります。
var serviceAccount = require("./service_account.json");
相対パスでない場合、require
はnode_modules
でservice_account.json
という名前のモジュールを探します。
問題は、TypeScriptコンパイラがjson
ファイルを認識しないことです。次の宣言をタイピングファイルに追加することで、コンパイラにそれらについて通知できます。
declare module "*.json" {
const value: any;
export default value;
}
次に、次のコマンドでjsonをインポートできます。
import * as serviceAccount from './service-key.json';
タイピングファイルをまだ設定していない場合は、作成してからinclude
またはfiles
に追加してtsconfig.json
に通知する必要があります。
"include": [
"./index.d.ts"
],