Angular 声明 var x:any;意外标记“var”

问题描述

我有一个问题,我正在构建一个 angular 应用程序并创建了一个与我的 API 一起使用的 TS 文件(在 index.html 中使用脚本标签导入)。我正在从这个文件中导出函数以在我的组件中使用它们。 一切正常,但我的浏览器仍然出错。 (IntelliJ 也没有向我显示错误) 我的代码是:

declare var AirConsole:any;

let airconsole: any;

export const enum MessageClass {
  ERROR,LOGIN,ANNOUNCEMENT
}

export function InitAirConsole(){
  airconsole = new AirConsole();
  console.log("Created AirConsole Controller:" );
  console.log(airconsole);

  airconsole.onMessage = function(from:number,data:any){
    switch(data.messageClass){
      case MessageClass.ERROR:
        console.log("Error Code: " + data.errorCode + "\nDetails: " + data.errorDetails);
        break;
      case MessageClass.ANNOUNCEMENT:
        console.log("Announcement from Screen\nHeader: " + data.header + "\nMessage:" + data.message);
        break;
    }
  }
}

export function SendMessagetoScreen(data:any){
  airconsole.message(AirConsole.SCREEN,data);
  console.log("Data sent to Screen. Data: ");
  console.log(data);
}

错误必须在第 1 行。它说 Uncaught SyntaxError: Unexpected token 'var'

Error

解决方法

问题是我的 ts 文件列在我的 angular.json 中的脚本数组中。我认为这就是为什么在我的 script.js 中使用了 typsecript 代码的原因。 从脚本数组中删除它解决了这个问题。