Typescript错误:需要“;”。 'EventNameString'仅用作类型,但在此处被用作值。

6

我正在尝试将Firebase电话认证添加到一个旧的ionic项目中,跟随了几个教程。我成功实现了它,但每次我执行ionic serve -l时都会出现以下错误:

errors screenshot

然而,我注意到如果我在app.modules.ts中的其中一行后面加注释,那么在执行ionic serve -l之后这些错误就消失了:

import { AngularFireModule } from "@angular/fire";
import { AngularFireAuth } from "@angular/fire/auth";

由于错误出现在node-modules文件夹中,我尝试多次删除它,甚至在其他电脑上尝试过,按照这里和那里的答案尝试过,但问题仍未得到解决。

错误信息:

Typescript Error
';' expected.
gtagName?: string;
/** Sets custom name for `dataLayer` array used by gtag. */
dataLayerName?: string;

Typescript Error
'EventNameString' only refers to a type, but is being used as a value here.
/** Sets custom name for `dataLayer` array used by gtag. */
dataLayerName?: string;

Typescript Error
'never' only refers to a type, but is being used as a value here.
/** Sets custom name for `dataLayer` array used by gtag. */
dataLayerName?: string;

Typescript Error
Cannot find name 'T'.
/** Sets custom name for `dataLayer` array used by gtag. */
dataLayerName?: string;

Ionic信息:

Ionic Framework: ^3.9.8
Ionic App Scripts: 3.2.4
Angular Core: ^5.2.7
Angular Compiler CLI: ^5.2.7
Node: 12.13.1
OS Platform: Windows 10
Navigator Platform: Win32
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36

app.modules.ts导入依赖项:

import { ErrorHandler, Injectable, Injector, NgModule } from "@angular/core";
import { IonicApp, IonicErrorHandler, IonicModule } from "ionic-angular";
import { BrowserModule } from "@angular/platform-browser";
import { HttpModule } from "@angular/http";
import { HttpClient, HttpClientModule } from "@angular/common/http";

import { Geolocation } from "@ionic-native/geolocation";
import { NativeGeocoder } from "@ionic-native/native-geocoder";

import { MyApp } from "./app.component";
import { TabsPage } from "../pages/tabs/tabs";
import { Loading } from "../pages/loading/loading";
import { Welcome } from "../pages/welcome/welcome";
import { GeoPage } from "../pages/geo/geo";

import { IonicStorageModule } from "@ionic/storage";
import { StatusBar } from "@ionic-native/status-bar";
import { SplashScreen } from "@ionic-native/splash-screen";

import { APIService } from "../services/api_service";
import { CartService } from "../services/cart_service";
import { PushService } from "../services/push_service";
import { UtilService } from "../services/util_service";
import { OrderHistoryService } from "../services/order_history_service";

import { TranslateLoader, TranslateModule } from "@ngx-translate/core";
import { TranslateHttpLoader } from "@ngx-translate/http-loader";
import { RestaurantsPageModule } from "../pages/catalog/restaurants/restaurants.module";
import { GeoPageModule } from "../pages/geo/geo.module";
import { AngularFireModule } from "@angular/fire";
import { AngularFireAuth } from "@angular/fire/auth";
import { firebaseConfig } from "../config";
import { LoginPage } from "../pages/personal/login/login";
import { AuthService } from "../services/auth.service";
import { NgxErrorsModule } from '@ultimate/ngxerrors';

我会尝试清理 node_modules 及其缓存,并重新安装一个新的。 - nircraft
@nircraft 我已经尝试过很多次,甚至在新的设置电脑上尝试了一下:git clone它然后执行npm install。一切都很正常,直到我开始实现Firebase功能时出现了问题...这个问题真的很奇怪。 - Vacit A.
1个回答

0

最重要的是,当您尝试将类型设置为EventNameString时,您必须使用:而不是=EventNameString。这就是为什么会出现错误“EventNameString”仅引用类型,但在此处被用作值。

对于其他问题,我看到主要是语法错误。正如@nircraft建议的那样,您应该尝试清理node_modules及其cache并重新安装它。


但是,如果您查看此错误截图,则该错误指向node-modules文件夹中相同行的文件,而我没有修改它。 另外,我已经多次清理了node-modules及其cache,但结果相同。 - Vacit A.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接