【问题标题】:Can't resolve '@firebase/auth-types无法解析'@firebase/auth-types
【发布时间】:2021-04-04 16:01:15
【问题描述】:

我将 Visual Studio CodeAngularFirebase npm 包 一起用于 Angular 打字稿。 我已将所有软件包更新到npm outdated 列出的最新版本。 更新后,Firebase 包的 User 类不再被发现,所以我发现我必须使用:import { User } from '@firebase/auth-types';。 问题是,在我导入这个之后,我在运行 ng build 后得到下一个错误:

Error: ./src/app/firebase/services/auth.service.ts
Module not found: Error: Can't resolve '@firebase/auth-types' in 'C:\Data\Development\Web\myappname\src\app\firebase\services'
resolve '@firebase/auth-types' in 'C:\Data\Development\Web\myappname\src\app\firebase\services'
  Parsed request is a module
  using description file: C:\Data\Development\Web\myappname\package.json (relative path: ./src/app/firebase/services)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      looking for modules in C:/Data/Development/Web/myappname
        using description file: C:\Data\Development\Web\myappname\package.json (relative path: .)
          Field 'browser' doesn't contain a valid alias configuration
          using description file: C:\Data\Development\Web\myappname\package.json (relative path: ./@firebase/auth-types)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\@firebase\auth-types doesn't exist
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\@firebase\auth-types.ts doesn't exist
            .tsx
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\@firebase\auth-types.tsx doesn't exist
            .mjs
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\@firebase\auth-types.mjs doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\@firebase\auth-types.js doesn't exist
            as directory
              C:\Data\Development\Web\myappname\@firebase\auth-types doesn't exist
      C:\Data\Development\Web\myappname\src\app\firebase\services\node_modules doesn't exist or is not a directory
      C:\Data\Development\Web\myappname\src\app\firebase\node_modules doesn't exist or is not a directory
      C:\Data\Development\Web\myappname\src\app\node_modules doesn't exist or is not a directory
      C:\Data\Development\Web\myappname\src\node_modules doesn't exist or is not a directory
      C:\Data\Development\Web\node_modules doesn't exist or is not a directory
      C:\Data\Development\node_modules doesn't exist or is not a directory
      C:\Data\node_modules doesn't exist or is not a directory
      C:\node_modules doesn't exist or is not a directory
      looking for modules in C:\Data\Development\Web\myappname\node_modules
        using description file: C:\Data\Development\Web\myappname\package.json (relative path: ./node_modules)
          Field 'browser' doesn't contain a valid alias configuration
          using description file: C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\package.json (relative path: .)    
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types is not a file[0m
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types.ts doesn't exist
            .tsx
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types.tsx doesn't exist
            .mjs
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types.mjs doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types.js doesn't exist
            as directory
              existing directory
                using path: C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index
                  using description file: C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\package.json (relative path: ./index)
                    no extension
                      Field 'browser' doesn't contain a valid alias configuration
                      C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index doesn't exist
                    .ts
                      Field 'browser' doesn't contain a valid alias configuration
                      C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index.ts doesn't exist
                    .tsx
[91m                      Field 'browser' doesn't contain a valid alias configuration
                      C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index.tsx doesn't exist
                    .mjs
                      Field 'browser' doesn't contain a valid alias configuration
                      C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index.mjs doesn't exist
                    .js
                      Field 'browser' doesn't contain a valid alias configuration
                      C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index.js doesn't exist
[C:\Data\Development\Web\myappname\@firebase\auth-types]
[C:\Data\Development\Web\myappname\@firebase\auth-types.ts]
[C:\Data\Development\Web\myappname\@firebase\auth-types.tsx]
[C:\Data\Development\Web\myappname\@firebase\auth-types.mjs]
[C:\Data\Development\Web\myappname\@firebase\auth-types.js]
[C:\Data\Development\Web\myappname\src\app\firebase\services\node_modules]
[C:\Data\Development\Web\myappname\src\app\firebase\node_modules]
[C:\Data\Development\Web\myappname\src\app\node_modules]
[C:\Data\Development\Web\myappname\src\node_modules]
[C:\Data\Development\Web\node_modules]
[C:\Data\Development\node_modules]
[C:\Data\node_modules]
[C:\node_modules]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types.ts]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types.tsx]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types.mjs]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types.js]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index.ts]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index.tsx]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index.mjs]
[C:\Data\Development\Web\myappname\node_modules\@firebase\auth-types\index.js]
 @ ./src/app/firebase/services/auth.service.ts 4:0-80 70:31-49 76:31-51
 @ ./src/app/components/user-details-info/user-details-info.component.ts
 @ ./src/app/app.module.ts
 @ ./src/main.ts
 @ multi ./src/main.ts

我的文件 package.json 是:

      {
   "name": "myappname",
   "version": "0.0.0",
   "scripts": {
     "ng": "ng",
     "start": "ng serve",
     "build": "ng build",
     "test": "ng test",
     "lint": "ng lint",
     "e2e": "ng e2e",
     "translate": "ng xi18n --output-path src/locale",
     "check": "gts check",
     "clean": "gts clean",
     "compile": "tsc",
     "fix": "gts fix",
     "prepare": "npm.cmd run compile",
     "pretest": "npm.cmd run compile",
     "posttest": "npm.cmd run check"
   },
   "private": true,
   "dependencies": {
     "@angular-devkit/schematics": "^11.0.5",
     "@angular/animations": "^11.0.5",
     "@angular/cdk": "^11.0.3",
     "@angular/common": "^11.0.5",
     "@angular/compiler": "^11.0.5",
     "@angular/core": "^11.0.5",
     "@angular/fire": "^6.1.4",
     "@angular/forms": "^11.0.5",
     "@angular/http": "^7.2.16",
     "@angular/localize": "^11.0.5",
     "@angular/material": "^11.0.3",
     "@angular/platform-browser": "^11.0.5",
     "@angular/platform-browser-dynamic": "^11.0.5",
     "@angular/router": "^11.0.5",
     "@firebase/auth-types": "^0.10.1",
     "@js-joda/core": "^3.2.0",
     "@js-joda/extra": "^0.4.0",
     "@js-joda/locale": "^3.2.2",
     "@ng-bootstrap/ng-bootstrap": "^8.0.0",
     "bootstrap": "^4.5.3",
     "chart.js": "^2.9.4",
     "chartjs-plugin-datalabels": "^0.7.0",
     "date-fns": "^2.16.1",
     "firebase": "^8.2.1",
     "jquery": "^3.5.1",
     "linq": "^3.2.3",
     "lodash": "^4.17.20",
     "materialize-angular": "^0.7.10",
     "materialize-css": "^1.0.0",
     "ng-inline-svg": "^11.0.1",
     "ng2-charts": "^2.4.2",
     "ngx-color-picker": "^11.0.0",
     "npm-check-updates": "^10.2.5",
     "ts-generic-collections-linq": "^1.0.2",
     "tslib": "^2.0.3",
     "uuid": "^8.3.2",
     "zone.js": "^0.11.3"
   },
   "devDependencies": {
     "@angular-devkit/architect": "^0.1100.5",
     "@angular-devkit/build-angular": "^0.1100.5",
     "@angular/cli": "^11.0.3",
     "@angular/compiler-cli": "^11.0.5",
     "@types/jasmine": "^3.6.2",
     "@types/jasminewd2": "~2.0.3",
     "@types/lodash": "^4.14.166",
     "@types/node": "^14.14.16",
     "@types/uuid": "^8.3.0",
     "@typescript-eslint/eslint-plugin": "^4.11.0",
     "@typescript-eslint/parser": "^4.11.0",
     "codelyzer": "^6.0.1",
     "eslint": "^7.16.0",
     "eslint-config-airbnb-base": "^14.2.1",
     "eslint-config-google": "^0.14.0",
     "eslint-config-standard": "^16.0.2",
     "eslint-plugin-import": "^2.22.1",
     "eslint-plugin-node": "^11.1.0",
     "eslint-plugin-promise": "^4.2.1",
     "eslint-plugin-standard": "^5.0.0",
     "firebase-tools": "^9.1.0",
     "fuzzy": "^0.1.3",
     "gts": "^3.0.3",
     "inquirer": "^7.3.3",
     "inquirer-autocomplete-prompt": "^1.3.0",
     "jasmine-core": "^3.6.0",
     "jasmine-spec-reporter": "^6.0.0",
     "karma": "^5.2.3",
     "karma-chrome-launcher": "~3.1.0",
     "karma-coverage-istanbul-reporter": "^3.0.3",
     "karma-jasmine": "^4.0.1",
     "karma-jasmine-html-reporter": "^1.4.2",
     "protractor": "~7.0.0",
     "ts-node": "^9.1.1",
     "tslint": "^6.1.3",
     "typescript": "^4.0.5"
   }
 }

我知道 @firebase/auth-types 不适合直接使用,但我无法找到导入 User 类的其他路径。 我应该回滚everyting还是我使用了错误的包?

【问题讨论】:

  • 你能分享你的 node_modules 文件夹的路径吗?
  • C:\Data\Development\Web\myappname\node_modules

标签: angular typescript firebase angularfire


【解决方案1】:

试试这个。

import firebase from 'firebase/app';
import 'firebase/firestore';
...

if (ref instanceof firebase.firestore.DocumentReference) {
...
}

【讨论】:

  • 对不起,我的知识贫乏,我的问题是在编译过程中,我该如何使用这段代码以及在哪里?
  • 在 app.module.ts 中使用
猜你喜欢
  • 2019-08-21
  • 2017-04-10
  • 2021-11-21
  • 2020-02-15
  • 1970-01-01
  • 2020-11-01
  • 2019-03-01
  • 2019-11-22
  • 2018-06-29
相关资源
最近更新 更多