【问题标题】: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


【解决方案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。
                      猜你喜欢
                      • 1970-01-01
                      • 2023-03-25
                      • 2013-08-20
                      • 1970-01-01
                      • 2016-01-11
                      • 2019-05-09
                      • 2018-05-14
                      • 1970-01-01
                      • 2017-06-12
                      相关资源
                      最近更新 更多