Firebase Functions Project上的VS代码“找不到模块”错误

时间:2020-10-11 12:10:56

标签: node.js typescript firebase visual-studio-code

我在Visual Studio代码和index.ts文件中设置了一个Firebase函数项目,但无法使其识别导入的模块。自动完成功能显示模块存在,但是在导入模块时出现错误“找不到模块”。

但是该项目编译并通过了皮棉检查。我就是不能使用智能感知。我测试了以下解决方案,但无法使其正常工作;

  • 删除node-modules文件夹,然后执行npm install
  • 在新目录上创建新的firebase函数项目。
  • 卸载并重新安装vs代码。 (删除AppData中的每个属性)。
  • 重新全局安装打字稿。
  • 删除扩展名。
  • 在MacOS而不是Windows 10上进行测试

屏幕截图

  • 错误

    enter image description here

  • 文件夹结构

    enter image description here

  • tsconfig.json

    {
      "compilerOptions": {
         "module": "commonjs",
         "noImplicitReturns": true,
         "noUnusedLocals": true,
         "outDir": "lib",
         "sourceMap": true,
         "strict": true,
         "target": "es2017",
         "typeRoots": ["node_modules/@types"] 
      },
      "compileOnSave": true,
      "include": ["src", "decs.d.ts"]
    }
    
    
  • package.json

{
  "name": "functions",
  "scripts": {
    "lint": "tslint --project tsconfig.json",
    "build": "tsc",
    "serve": "npm run build && firebase emulators:start --only functions",
    "shell": "npm run build && firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "8"
  },
  "main": "lib/index.js",
  "dependencies": {
    "@google-cloud/firestore": "^4.2.0",
    "@google-cloud/storage": "^5.2.0",
    "@types/multer": "^1.4.4",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "express-multipart-file-parser": "^0.1.2",
    "firebase-admin": "^9.2.0",
    "firebase-functions": "^3.11.0",
    "multer": "^1.4.2"
  },
  "devDependencies": {
    "@types/cors": "^2.8.7",
    "firebase-functions-test": "^0.2.0",
    "tslint": "^5.12.0",
    "typescript": "^3.8.0"
  },
  "private": true
}

1 个答案:

答案 0 :(得分:1)

这是我的用例。

在JS中

const admin = require("firebase-admin")
const functions = require("firebase-functions")

在TS

import firebase from "firebase/app"
import "firebase/analytics"
import "firebase/auth"
import "firebase/storage"

在package.json中

"dependencies": {
    "firebase": "^7.17.1",
    ...
  },

您可以在firebase文档页面中找到有关ES2015样式导入的官方文档 https://firebase.google.com/docs/web/setup#add-sdks-initialize

ps。屏幕快照确实有助于总体上描述您的问题。 be?