Firebase Cloud Functions TS-未解决的函数/变量/方法

时间:2018-10-24 17:23:56

标签: typescript firebase google-cloud-functions webstorm firebase-admin

我使用IDE WebStorm,并且在编码云功能时遇到一些困难。看来WebStorm无法识别Firebase的某些方法/功能/变量。

示例:

enter image description here

深红色表示无法解析该属性。 如您所见,它无法识别db.settingssnapshot.data()db.doc()snapshot.id

我的package.json(自动生成,没碰过任何东西):

{
  "name": "functions",
  "scripts": {
    "lint": "tslint --project tsconfig.json",
    "build": "tsc",
    "serve": "npm run build && firebase serve --only functions",
    "shell": "npm run build && firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "main": "lib/index.js",
  "dependencies": {
    "firebase-admin": "~6.0.0",
    "firebase-functions": "^2.0.3"
  },
  "devDependencies": {
    "tslint": "~5.8.0",
    "typescript": "~2.8.3"
  },
  "private": true
}

到目前为止我没有成功的尝试:

  • 无效并重新启动
  • 重新安装node_modules
  • 取消排除软件包@google-cloud
  • 删除functionsfirebase init functions-工作片刻,然后找不到源。
  • 仅出于此目的尝试取消排除node_modules

未排除的软件包:

  • @ google-cloud
  • @types(+ @types / *)
  • firebase-admin
  • firebase功能
  • tslint
  • 打字稿

PS-我不知道它是否与父文件夹有关,但我在该项目中使用的是Ionic 4,而在另一个项目中,我仅使用Angular,并且表现良好(两个功能文件夹都具有相同的功能相同的设置。)

更新1-我试图在PC和MacOS(不同的设备)上都运行此项目,并且这两个项目都发生了。在不同的项目上不会发生此问题。

1 个答案:

答案 0 :(得分:1)

问题是FireStore函数实际上是在@google-cloud/firestore插件中声明的,该插件安装为firebase-admin的依赖项,但未在项目package.json中列出。 WebStorm会自动从索引中排除所有间接依赖关系,以提高性能,因此函数定义不适用于代码分析器。要解决此问题,请在 Project 工具窗口中右键单击node_modules/@google-cloud文件夹,然后将标记为/不排除目录。这应该可以解决问题:

enter image description here

enter image description here