打字稿错误 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 版本
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 tsc
或where 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: ';'预期(二)的主要内容,如果未能解决你的问题,请参考以下文章