打字稿错误TS1005:';'预计,但我没有看到我错过了分号

时间:2017-01-26 14:35:26

标签: typescript

我正在尝试学习Typescript,我正在按照本页面上的教程进行操作:https://www.typescriptlang.org/docs/handbook/functions.html。当我创建文件cardPicker.ts并粘贴以下代码时,它将无法编译。我得到这个错误5次:打字稿错误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”来编译项目。

6 个答案:

答案 0 :(得分:2)

你的ts文件中有你的一切吗?或者你也有一些参考评论?

这个错误并没有抱怨丢失分号,因为TypeScript根本不需要你使用它们,就像JS那样。

你得到的错误是因为其他东西对编译器没有意义,就像一个没有正确结束的声明。 (见https://github.com/DefinitelyTyped/DefinitelyTyped/issues/4004)。例如:

let deck: Number of Date;

会产生确切的错误。

根据您的设置,您可能编译的次数超出了您的想象。

在您的情况下,由于您的编译器太旧了,可能只是因为它不了解TS 1.4中引入的关键字let

<强>更新

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

答案 1 :(得分:0)

Heyy @Kelli我得到了同样的错误,但我解决了。如果您使用visual studio,请在Visual Studio Code中复制您的代码并选择语言作为打字稿。在缩进代码并正确添加开始和结束括号后添加分号后,您会在拼错的地方变红。

答案 2 :(得分:0)

今天我花了几个小时在LESS预处理器中追逐类似的问题(我的错误是关于逗号字符)。

 error TS1005: ',' expected

结束我在LESS文件中的注释中有一些反复的字符,它们让预处理器混乱(可能它是用TypeScript -Angular 5项目编写的 - 其中反引号有特殊处理)

答案 3 :(得分:0)

安装tsc时可能使用了<script src="bundle.js" />

点击此链接: https://www.npmjs.com/package/tsc 这个包已经停产。

现在您应该使用<script src="bundle.js"></script>,然后您将拥有更新的版本。

今天npm install tsc -g返回版本2.8.1

使用较新版本时,您将无法获得ts1005

答案 4 :(得分:0)

我有一个非常奇怪的错误,像这样的错误:

花了我一点时间才能意识到路径已被复制

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.

答案 5 :(得分:0)

我已经遇到了这个问题。这可能是由于Angular版本和TypeScript版本之间不匹配而引起的。因此只需执行以下步骤

  1. 步骤01-为Visual Studio 2015安装TypeScript

    • TypeScript for Visual Studio 2015
    • 在安装之前,请检查是否已安装(检查路径 C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript),如果存在,则删除 它。
    • 然后安装它,它将在C:\ Program Files(x86)\ Microsoft中 SDKs \ TypeScript \ 3.2
    • 然后使用路径变量设置TypeScript的路径(将其设置为 C:\ Program Files(x86)\ Microsoft SDKs \ TypeScript \ 3.2)
  2. 步骤02-使用以下命令安装最新的Angular版本(Angular 7)

    • npm install -g @ angular / cli
    • npm install -g @ angular / core
  3. 步骤03-使用以下命令检查TypeScript版本