TypeScript错误TS1005:';'预期

时间:2017-09-25 06:33:10

标签: typescript

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

我很高兴尝试使用TypeScript但很失望。一个简单的let x: number;将在编译期间生成错误TS1005。它不是像错误消息所说的那样丢失分号,但编译器无法识别let关键字。我读到这可能是因为过时的编译器。这是我使用npm install -g typescript

安装的打字稿版本
  • TypeScript版本:2.5.2
  • 编译器(tsc)版本:1.0.3.0

也许有人可以提供帮助?谢谢。

12 个答案:

答案 0 :(得分:21)

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

tsc --version应返回2.5.2版本。

在linux,OSX上,使用which tsc检查旧编译器的位置并将其删除。

尝试卸载“全局”打字稿

npm uninstall -g typescript

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

npm install typescript --save-dev

从项目的根目录执行

./node_modules/.bin/tsc

答案 1 :(得分:9)

在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?

答案 2 :(得分:2)

你还没有最新版本的打字稿。

运行npm install -g typescriptnpm检查是否已安装tsc命令。而可能是,由Visual Studio等其他软件提供。如果是这样,npm不会覆盖它。因此,您必须删除以前弃用的tsc已安装命令。运行where tsc以了解其bin位置。它应该在Windows中的C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\中。找到后,删除该文件夹,然后重新运行n pm install -g typescript。现在应该安装最新版本的typescript。

答案 3 :(得分:0)

  

问题出在我的代码中。

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

简化代码如下:

坏:

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

好:

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

也就是说,第一个具有[[],而不是普通数组[]

TS错误还不够清楚,它在最后一行带有})的地方显示了错误;

希望这会有所帮助。

答案 4 :(得分:0)

我今天有类似的错误消息。特有的是它没有破坏应用程序。它运行平稳,但是命令提示符(Windows计算机)指示出现错误。 我没有更新Typescript版本,但发现了另一个罪魁祸首。 原来,略有省略符号-关闭“)”,我相信打字稿正在对此进行补偿。仅供参考,代码如下:

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

* notice here the ending ")" is missing.

一旦在命令提示符下再也没有出现任何问题!

答案 5 :(得分:0)

Remove C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0` directory. Now

npm install -g typescript 

this will install the latest version

and then re-try.

答案 6 :(得分:0)

只需尝试不更改任何内容 npm install rxjs@X.X.X X.X.X是您的当前版本

答案 7 :(得分:0)

我正在这样注入服务:

private messageShowService MessageShowService

代替:

private messageShowService: MessageShowService

这就是错误的原因,尽管那里与','无关。

答案 8 :(得分:0)

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

答案 9 :(得分:0)

小错误的愚蠢问题;

我正在努力

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

const res = await noAuthApi.getQuizzes(quizType)

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

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

const res = await noAuthApi.getQuizzes(quizType)

答案 10 :(得分:0)

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

答案 11 :(得分:0)

在我的情况下,我使用了 'function' 关键字。我想删除它。

导出类 CustomValidators {

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

导出类 CustomValidators {

static myFunc(x: string) { console.log(x) } }