Typescript 键入脚本错误TS1005:'';预期的,但我不';我看不出我在哪里';我缺少一个分号
我正在尝试学习Typescript,并遵循本页的教程:。当我创建一个文件cardPicker.ts并粘贴以下代码时,它不会编译。我得到这个错误5次:Typescript错误TS1005:';'预期。第1、6、7、14和15行。我看不出哪里缺少分号,但可能错误消息意味着其他东西。我很担心我的ts版本,但我两周前刚刚安装了它。当我做“tsc-version”时,它说的是1.0.3.0Typescript 键入脚本错误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
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版本之间不匹配。所以只需遵循以下步骤
- 安装前,检查是否已安装(检查路径 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)
- npm安装-g@angular/cli
- npm安装-g@角度/核心
- 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
中的确切含义是什么?我知道你的错误清单,但你是怎么进入那种状态的?它代表什么?你是怎么修好的?