配置 typescript 以在不使用导入的情况下停止编译失败

问题描述 投票:0回答:4

我已经谷歌,但我不太清楚如何告诉 Typescript 编译器在导入依赖项但不使用它时停止编译失败。

注释掉代码进行比较是我经常做的事情,必须删除/注释掉相应的导入已经变得有点痛苦,特别是当大多数时候我会在几秒钟后添加代码回来。

谁能告诉我该怎么做?

我正在使用 create-react-app-typescript。

typescript
4个回答
2
投票

在“tsconfig.json”中设置编译器选项。

{
  "compilerOptions": {
    ...
    "noUnusedLocals": false,
    "noUnusedParameters": false
  }
}

0
投票

现在支持@ts-ignore。这似乎已合并到 master 分支中,但不确定它在哪个 TS 版本中可用,所以理论上,这应该可行:

// @ts-ignore: unused
/// <reference path="../scripts/typedefinitions/royalslider.d.ts" />

0
投票

我经常这样做,并且必须删除/注释掉相应的导入已经变得有点痛苦,特别是当大多数时候我会在几秒钟后添加代码回来。

接受选项和错误

出现 TypeScript 错误没关系,因为您仍然可以获得输出 JavaScript(使用默认选项)。这些错误的存在只是为了确保您不会犯错并给其他人带来混乱。

或者

不推荐这个,但给你:

消除错误

使用

//@ts-ignore
消除错误。

更改选项

您可以更改

tsconfig
选项,即
"noUnusedLocals": false,
以及
"noUnusedLocals": false,


0
投票

常识及问题原因

来自严格规则系列的 Typescript 警告不会导致您的应用程序在构建时失败,Typescript 错误会警告您脚本中可能存在的错误,并使您的代码比普通 Javascript 更干净。

Typescript 会警告您文件中未使用的导入,因为在 tsconfig.json 文件选项中

noUnusedLocals
设置为
true
,这意味着必须从使用或初始化它的脚本中读取|写入|导出局部变量*。

修复方法

评论配置

  • 您可以在错误上方的一行使用
    @ts-expect-error
    ,这样做可以,但是将来,如果有可能在同一个文件中使用所述变量,则这一行将抛出又一个错误
  • 您可以在错误上方的一行使用
    @ts-ignore
    ,这将导致与
    @ts-expect-error
    相同的行为,但即使将来使用变量,这也不会执行任何操作

JSON配置(全局配置)

编辑 JSON 配置将导致全局更新,这意味着与

comment configurations
不同,这将影响项目中的每个(不是每个,请参阅
include
选项)打字稿文件

转到您的项目

tsconfig.json
文件(可能位于项目的根目录),找到
noUnusedLocals
键并将其值设置为 false

您不需要将属性

noUnusedParameters
设置为 false,它与此错误无关。

PS:此答案没有提供与其他答案任何不同的解决方案,其目的是通过提供有关错误原因的一些信息,使给定的解决方案更具可读性/理解性。

© www.soinside.com 2019 - 2024. All rights reserved.