代码之家  ›  专栏  ›  技术社区  ›  Eliya Cohen

Firebase Cloud函数TS-未解析函数/变量/方法

  •  6
  • Eliya Cohen  · 技术社区  · 8 年前

    我使用idewebstorm,在编写云函数时遇到了一些困难。看起来WebStorm无法识别firebase的一些方法/函数/变量。

    enter image description here

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

    我的包.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
    }
    

    • 失效并重新启动
    • @google-cloud
    • 删除 functions 和 firebase init functions
    • 试图取消排除 node_modules

    未包含的包装:

    • @类型(+@types/*)
    • firebase管理员
    • firebase函数
    • tslint公司

    PS-我不知道它是否与父文件夹有关,但我在这个项目中使用的是Ionic 4,而在另一个项目中,我只使用Angular,它的行为良好(两个功能文件夹的设置完全相同)。

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

    1 回复  |  直到 8 年前
        1
  •  0
  •   lena    8 年前

    问题是FireStore函数实际上是在 @google-cloud/firestore firebase-admin 但没有列入你的项目 package.json . 而且WebStorm自动从索引中排除所有间接依赖项以获得更好的性能,因此函数定义对代码分析器不可用。要解决问题,请右键单击 node_modules/@google-cloud 你的文件夹 项目 将目录标记为/不排除 . 这应该可以解决以下问题:

    enter image description here

    enter image description here

    推荐文章