打字稿错误 TS1005: ';'预期(二)

Posted

技术标签:

【中文标题】打字稿错误 TS1005: \';\'预期(二)【英文标题】:TypeScript error TS1005: ';' expected (II)打字稿错误 TS1005: ';'预期(二) 【发布时间】:2018-03-06 01:14:39 【问题描述】:

首先,我已经看过其他关于错误 TS1005 的帖子。 相同的错误代码,但完全不同。

一个简单的let x: number; 将在编译期间生成error TS1005。这与错误消息中所说的缺少分号无关,而是编译器无法识别 let 关键字。我读到这可能是因为编译器过时了。

这是我使用 npm install -g typescript 安装的 typescript 版本

TypeScript 版本:2.5.2 编译器 (tsc) 版本:1.0.3.0

也许有人可以帮忙?

【问题讨论】:

TypeScript error: ';' expected when using "let" keyword的可能重复 没有。这是 Typescript 的错误,因为 npm 安装了错误的版本。我打开了an issue about it。 @StockUberflow 请支持它。 【参考方案1】:

我遇到了同样的错误。敲了半个小时后,我发现一个罗密欧支架没有他的朱丽叶LOL……!(开始和结束括号不匹配) 请检查所有括号以避免此类错误。

【讨论】:

【参考方案2】:

在我的情况下,我会使用“function”关键字。我想删除它。

不好

导出类 CustomValidators

静态函数 myFunc(x: string) console.log(x)

导出类 CustomValidators

静态 myFunc(x: string) console.log(x)

【讨论】:

【参考方案3】:

验证文件的扩展名。包含tsx 的文件应具有.tsx 扩展名。

【讨论】:

【参考方案4】:

小错误的愚蠢问题;

我在尝试

const quizType = computed(() => rootState.quizzes.quiz

const res = await noAuthApi.getQuizzes(quizType)

问题是,我错过了右括号。应该是这样的

const quizType = computed(() => rootState.quizzes.quiz)

const res = await noAuthApi.getQuizzes(quizType)

【讨论】:

【参考方案5】:

您没有最新版本的打字稿。

跑步:

npm install -g typescript

npm 检查是否已安装 tsc 命令。

而且可能是,由另一个软件,如Visual Studio。如果是这样,npm 不会覆盖它。所以你必须删除之前已弃用的tsc安装命令。

运行 where tsc 以了解其 bin 位置。它应该在 Windows 中的 C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\ 中。找到后,删除该文件夹,然后重新运行npm install -g typescript现在应该安装最新版本的 typescript。

【讨论】:

【参考方案6】:

如果你得到error TS1005: 'finally' expected.,这意味着你忘记在try之后实现catch。通常,这意味着您尝试使用的语法不正确。

【讨论】:

【参考方案7】:

我是这样注入服务的:

private messageShowService MessageShowService

代替:

private messageShowService: MessageShowService

这就是错误的原因,尽管没有与 ',' 相关的内容。

【讨论】:

【参考方案8】:

删除C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0目录。

现在运行:

npm install -g typescript 

这将安装最新版本,然后重试。

【讨论】:

【参考方案9】:

你的安装错误;您使用的是非常旧的编译器版本(1.0.3.0)。

tsc --version 应该返回 2.5.2 的版本。

使用which tsc(或where tsc)检查旧编译器的位置并将其删除。

尝试卸载“全局”打字稿

npm uninstall -g typescript

作为项目的本地开发依赖项的一部分进行安装

npm install typescript --save-dev

从项目的根目录执行它

./node_modules/.bin/tsc

【讨论】:

您好,先生,已解决。谢谢你。密钥是which tscwhere tsc。发现在 C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\ 中有另一个版本的 tsc。我刚刚从路径中删除了旧的。 打开了一个关于它的issue on github。 我使用的是稍旧的 tsc 版本,导致不存在问题。我更新了全局 tsc,现在可以了。 这很棒。我正在使用npx tsc <filename> 进行编译。奇怪npx 会使用过时的版本?【参考方案10】:

尝试不做任何改变 npm install rxjs@X.X.X X.X.X 是你当前的版本

【讨论】:

【参考方案11】:

我今天收到了类似的错误消息。奇怪的是它没有破坏应用程序。它运行顺利,但命令提示符(Windows 机器)显示有错误。 我没有更新 Typescript 版本,但发现了另一个罪魁祸首。 原来有一个小小的遗漏符号 - 关闭“)”,我相信打字稿正在补偿。仅供参考,代码如下:

[new Object('First Characteristic','Second Characteristic',
'Third Characteristic'*] 

* notice here the ending ")" is missing.

一旦在命令提示符处恢复,就不会再出现问题了!

【讨论】:

并不是要投反对票,但显然无法撤消。 如果您再次单击否决按钮,它将撤消它。或者你可以点赞【参考方案12】:

问题出在我的代码中。

在大型代码库中,问题不清楚。

简化代码如下:

不好:

 collection.insertMany(
    [[],
    function (err, result) 
    );

好:

collection.insertMany(
    [],
    function (err, result) 
    );

即第一个有[[],而不是普通数组[]

TS错误不够清晰,最后一行用)显示错误;

希望这会有所帮助。

【讨论】:

【参考方案13】:

在 Windows 上你可以在你的 PATH 中拥有

PATH = ...;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\; ...

从 PATH 环境中删除它,然后

npm install -g typescript@latest

解决问题对我有用

"TypeScript 错误 TS1005: ';'预计”

另见how to update TypeScript to latest version with npm?

【讨论】:

这个答案为我解决了这个问题。我认为您必须重新启动PC。我的操作系统是 Windows 7。

以上是关于打字稿错误 TS1005: ';'预期(二)的主要内容,如果未能解决你的问题,请参考以下文章

打字稿编译错误:错误 TS1109:预期表达式

反应打字稿错误解析错误:'>'预期

打字稿错误:';'使用“let”关键字时预期

如何在较新版本的打字稿中处理打字稿错误 Object.ts (7053)?

打字稿 - 字符串'不可分配给类型'FC

打字稿导入文本文件“错误 TS2307:找不到模块”