找不到模块'serviceAccountKey.json'

时间:2019-11-29 17:44:09

标签: node.js json typescript google-cloud-functions

我正在尝试实现Firebase功能,并且被困从项目中导入服务帐户密钥。这是我的代码。

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"
});

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

  

找不到模块'./development/serviceAccountKey.json'       在Function.Module._resolveFilename(内部/模块/cjs/loader.js:636:15)       在Function.Module._load(内部/模块/cjs/loader.js:562:25)       在Module.require(internal / modules / cjs / loader.js:690:17)       在要求时(内部/模块/cjs/helpers.js:25:18)       在对象。 (D:\ workspace \ projects \ backend \ momentos-backend \ functions \ lib \ index.js:29:22)       在Module._compile(内部/模块/cjs/loader.js:776:30)       在Object.Module._extensions..js(内部/模块/cjs/loader.js:787:10)       在Module.load(internal / modules / cjs / loader.js:653:32)       在tryModuleLoad(内部/模块/cjs/loader.js:593:12)       在Function.Module._load(internal / 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,
  },

...

我不知道我是否忘记了什么,但我认为这应该可行。如果有人可以找到我的解决方案,那将非常有帮助。预先感谢!

1 个答案:

答案 0 :(得分:0)

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