Firebase Admin Nodejs 找不到模块 service_account.json
Firebase Admin Nodejs cannot find module 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'
您缺少所需路径的相关部分。也就是说,您应该这样做:
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
:[=17 来告知 tsconfig.json
=]
"include": [
"./index.d.ts"
],
我用 "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'
您缺少所需路径的相关部分。也就是说,您应该这样做:
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
:[=17 来告知 tsconfig.json
=]
"include": [
"./index.d.ts"
],