2017-04-02 116 views
2

我使用「node firebasedb.js」啓動我的節點。我firebasedb.js包含此代碼:Firebase管理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

您缺少所需路徑的相對部分。也就是說,你應該做這樣的事情:

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

如果它不是一個相對路徑,require將尋找在node_modules名爲service_account.json模塊。

+0

哦,現在它工作!謝謝! – Zik

+0

但沒有任何反應?我應該期待服務器啓動嗎? – Zik

0

問題是TypeScript編譯器不知道關於json文件。您可以通過將以下聲明添加到類型文件中來告訴編譯器。

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

然後可以導入使用JSON:

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

如果您還沒有一個分型文件設置你需要創建一個,然後將其添加到includefiles告訴tsconfig.json吧:

"include": [ 
    "./index.d.ts" 
    ],