2017-04-02 14 views
2

"node firebasedb.js"でノードを起動します。私firebasedb.jsは、このコードが含まれていますFirebase Admin Nodejsがモジュールservice_account.jsonを見つけることができません

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' 

答えて

12

あなたが必要なパスの相対的な部分が不足していると言います。それは相対パスではありません場合は、requireservice_account.jsonという名前のモジュールのnode_modulesにことになるだろう

var serviceAccount = require("./service_account.json"); 

:それはあなたがこのような何かをやっべきです。

+0

オハイオ州、今それは動作します!ありがとう! – Zik

+0

しかし何も起こりませんか?サーバーを起動する必要がありますか? – Zik

0

問題は、TypeScriptコンパイラがjsonファイルについて認識していないことです。コンパイラに、次の宣言を入力ファイルに追加することで、コンパイラに伝えることができます。あなたはすでにあなたが1を作成し、includeまたはfilesにそれを追加することによって、それについてtsconfig.jsonを伝える必要がありますタイピングファイルのセットアップを持っていない場合

import * as serviceAccount from './service-key.json'; 

:あなたは、その後にJSONをインポートすることができ

declare module "*.json" { 
    const value: any; 
    export default value; 
} 

"include": [ 
    "./index.d.ts" 
    ], 
関連する問題