找不到模块“serviceAccountKey.json”

JTo*_*rus 4 json node.js typescript google-cloud-functions

我正在尝试实现 Firebase Functions,但我一直坚持从项目中导入服务帐户密钥。这是我的代码。

import * as admin from 'firebase-admin';

var serviceAccount = require('./' + functions.config().environment.name + '/serviceAccountKey.json');

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "<MYDATABASEURL>.firebaseio.com"
});
Run Code Online (Sandbox Code Playgroud)

当我运行时,firebase serve这是输出

在 Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15) 和 Function.Module._load (internal/modules/cjs/loader.js:) 处找不到模块“./development/serviceAccountKey.json”: 562:25) 在 Module.require (internal/modules/cjs/loader.js:690:17) 在 require (internal/modules/cjs/helpers.js:25:18) 在 Object. (D:\workspace\projects\backend\momentos-backend\functions\lib\index.js:29:22) 在 Module._compile (internal/modules/cjs/loader.js:776:30) 在 Object.Module 处。 _extensions..js(内部/模块/cjs/loader.js:787:10)在Module.load(内部/模块/cjs/loader.js:653:32)在tryModuleLoad(内部/模块/cjs/loader.js) :593:12) 在 Function.Module._load (内部/modules/cjs/loader.js:585:3)

我的 Typescript 版本是3.6.3,这些是我的编译器选项tsconfig.json

...

"compilerOptions": {
    "module": "commonjs",
    "noImplicitReturns": true,
    "noUnusedLocals": false,
    "outDir": "lib",
    "sourceMap": true,
    "strict": true,
    "target": "es2017",
    "resolveJsonModule": true,
  },

...
Run Code Online (Sandbox Code Playgroud)

我不知道我是否忘记了什么,但我认为这应该有效。如果有人能为我找到解决方案,那将非常有帮助。提前致谢!

JTo*_*rus 6

没关系,我只是注意到require从 node_modules 目录开始搜索。有点新手错误。