Typescript 键入脚本错误TS1005:'';预期的,但我不';我看不出我在哪里';我缺少一个分号

Typescript 键入脚本错误TS1005:'';预期的,但我不';我看不出我在哪里';我缺少一个分号,typescript,Typescript,我正在尝试学习Typescript,并遵循本页的教程:。当我创建一个文件cardPicker.ts并粘贴以下代码时,它不会编译。我得到这个错误5次:Typescript错误TS1005:';'预期。第1、6、7、14和15行。我看不出哪里缺少分号,但可能错误消息意味着其他东西。我很担心我的ts版本,但我两周前刚刚安装了它。当我做“tsc-version”时,它说的是1.0.3.0 let deck = { suits: ["hearts", "spades", "clubs", "diamo

我正在尝试学习Typescript,并遵循本页的教程:。当我创建一个文件cardPicker.ts并粘贴以下代码时,它不会编译。我得到这个错误5次:Typescript错误TS1005:';'预期。第1、6、7、14和15行。我看不出哪里缺少分号,但可能错误消息意味着其他东西。我很担心我的ts版本,但我两周前刚刚安装了它。当我做“tsc-version”时,它说的是1.0.3.0

let deck = {
  suits: ["hearts", "spades", "clubs", "diamonds"],
  cards: Array(52),
  createCardPicker: function() {
     return function() {
         let pickedCard = Math.floor(Math.random() * 52);
         let pickedSuit = Math.floor(pickedCard / 13);

         return {suit: this.suits[pickedSuit], card: pickedCard % 13};
     }
  }
}

let cardPicker = deck.createCardPicker();
let pickedCard = cardPicker();

alert("card: " + pickedCard.card + " of " + pickedCard.suit);

我通过在命令行中运行“tsc cardPicker.ts”来编译该项目。

这就是ts文件中的所有内容吗?或者你也有一些参考意见吗

这个错误并不抱怨缺少分号,因为TypeScript根本不要求您使用分号,就像JS在这方面一样

相反,您得到的错误是因为其他一些东西对编译器没有意义,比如声明没有正确结束。(见附件)。例如:

let deck: Number of Date;
将产生准确的错误

根据您的设置,您可能编译的内容比您想象的要多

在您的例子中,由于编译器太旧,可能只是它不理解TS 1.4中引入的关键字
let

更新

为了澄清,您用来安装typescript的命令是最新安装的。
但是为了使用它,您需要运行node.js命令提示符,而不是正常的Windows命令提示符,假设您在Windows上。

Heyy@Kelli我遇到了相同的错误,但我解决了它。如果您使用visual studio,请在visual studio代码中复制您的代码,并选择语言作为类型脚本。在缩进代码并正确添加开始括号和结束括号、添加分号之后,如果拼写错误,就会变得很红。

今天我花了几个小时在一个较少的预处理器中研究类似的问题(我的错误是关于一个逗号字符)

 error TS1005: ',' expected

最后,我在我的LESS文件中的注释中有一些反勾字符,它们混淆了预处理器(可能是用TypeScript-Angular 5 project-反勾有特殊处理的地方编写的)

当您安装tsc时,可能使用了
npm install tsc-g

点击此链接: 这个包裹已经停产了

现在,您应该使用
npm安装typescript-g
,然后您将拥有更新的版本

今天
tsc-v
返回版本2.8.1


对于较新的版本,您不会得到ts1005

我有一个非常奇怪的相同错误,错误如下:

我花了一点时间才意识到这条路是重复的

src/app/services/
嵌套在
src/app/services/MYPROJECT
中。这是因为代码生成器中的路径不正确,我没有注意到额外的文件

src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(972,19): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(974,10): error TS1128: Declaration or statement expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(975,17): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(976,17): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(977,24): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(978,17): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(986,4): error TS1128: Declaration or statement expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(987,24): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(988,20): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(989,13): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(990,13): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(991,25): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(992,15): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(993,21): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(994,20): error TS1005: ';' expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(996,6): error TS1128: Declaration or statement expected.
src/app/services/MYPROJECT.NG/src/app/services/api/rr.api.ts(997,14): error TS1005: ';' expected.

我遇到过这个问题。这可能是因为Angular版本和TypeScript版本之间不匹配。所以只需遵循以下步骤

  • 步骤01-安装Visual Studio 2015的TypeScript

    • 安装前,检查是否已安装(检查路径 C:\ProgramFiles(x86)\Microsoft SDK\TypeScript),如果有,则删除 它
    • 然后将其安装到C:\Program Files(x86)\Microsoft中 SDK\TypeScript\3.2
    • 然后使用path变量设置TypeScript的路径(将其设置为 C:\ProgramFiles(x86)\Microsoft SDK\TypeScript\3.2)
  • 步骤02-使用以下命令安装最新的Angular版本(Angular 7

    • npm安装-g@angular/cli
    • npm安装-g@角度/核心
  • 步骤03-使用以下命令检查TypeScript版本

    • ng版本
    • 这将显示typescript版本,类似于3.2.4(安装在 上一步)

    • 特别地,我要感谢,因为我提到他们来解决我的问题


  • 你最好更新你的打字脚本版本。当前版本是
    2.1.5
    ,您正在使用
    1.0.3
    。为什么npm会安装旧版本?我两周前才开始做这件事。我更新它有困难。除非typescript以另一种方式进入我的计算机。。。你是怎么安装的?也许您不久前已经在全球范围内安装了旧版本(或者您正在使用的东西)。那么您可能已经在本地安装了新版本。尝试
    /node\u modules/typescript/bin/tsc-v
    createCardPicker
    中,return语句缺少分号
    return function(){..}
    应改为
    return function(){..}。另外,变量声明语句
    let deck={….}
    缺少分号。应该是
    let deck={….}
    使用node.js命令提示符修复了我的问题,因为它使用了正确版本的typescript,位于我的AppData\Roaming\npm\node\u modules\typescript文件夹中“
    src/app/services/
    嵌套在
    src/app/services/MYPROJECT
    中的确切含义是什么?我知道你的错误清单,但你是怎么进入那种状态的?它代表什么?你是怎么修好的?