Firebase Admin Nodejs找不到模块service_account.json

我用“node firebasedb.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' 

您错过了所需path的相关部分。 也就是说,你应该这样做:

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

如果不是相对path,那么require将在node_modules查找名为service_account.json的模块。

问题是TypeScript编译器不知道关于json文件。 您可以通过将以下声明添加到types文件中来告诉编译器。

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

然后你可以导入json:

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

如果您还没有打印文件设置,则需要创build一个文件,然后通过将其添加到includefiles来告诉tsconfig.json

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