TSLint 不适用于 CRA 和 TypeScript

2024-01-26

我花了几个小时绞尽脑汁试图为使用 create-react-app 创建的 TypeScript 项目启用 linting。

  • The wmonk/create-react-app-typescript https://github.com/wmonk/create-react-app-typescript回购协议现已弃用
  • 因此,我遵循these https://facebook.github.io/create-react-app/docs/adding-typescriptCRA 文档中的说明

问题是上面建议的实现不会向新创建的项目添加任何 linting。

到目前为止我已经尝试过:

  • 安装中TypeScript TSLint 插件 https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-tslint-plugin作为我的 VSCode 的扩展
  • 创建一个tslint.json我的项目中的文件具有以下配置:
  {
    "rules": {
      "no-debugger": false,
      "no-console": false,
      "interface-name": false
    },
    "linterOptions": {
      "exclude": [
        "config/**/*.js", "node_modules/**/*.ts", "coverage/lcov-report/*.js"
      ]
    },
    "extends": [
      "tslint:recommended", 
      "tslint-react", 
      "tslint-config-prettier"
    ]
  }
  • 添加一个皮棉脚本 to my package.json
 "scripts": { 
     "lint": "tslint -c tslint.json src/**/*.{ts,tsx} --fix --format verbose"
 }

然后我尝试跑步yarn lint or npm run lint但上述任何方法都不会检查任何文件

这是我的package.json file:

{
  "name": "myapp",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@types/jest": "^23.3.11",
    "@types/node": "^10.12.18",
    "@types/react": "^16.7.18",
    "@types/react-dom": "^16.0.11",
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-scripts": "2.1.2",
    "typescript": "^3.2.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "lint": "tslint -c tslint.json src/**/*.{ts,tsx} --fix --format verbose",
    "tslint-check": "tslint-config-prettier-check ./tslint.json"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "devDependencies": {
    "tslint": "^5.12.0",
    "tslint-config-prettier": "^1.17.0",
    "tslint-react": "^3.6.0"
  }
}

这是tsconfig.json自动生成者npx create-react-app [项目名称] --typescript

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "preserve"
  },
  "include": [
    "src"
  ]
}

有什么想法吗?


我必须经历相同的过程来弄清楚如何让 TSLint 和 Pretter 在 CRA + TypeScript 项目上工作。

我创建了这个gist https://gist.github.com/rimatla/a5a2c5dcf831c5744a656cfe81fadf52 with 一步步有关如何进行相应设置的说明。

简而言之,上述解决方案是确保您安装了适当的 VSCode 扩展并在 package.json 中安装了适当的依赖项,以便 TSLint 和 Prettier 都能跟踪您的更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TSLint 不适用于 CRA 和 TypeScript 的相关文章

  • 使用 VSCode、DNX 和 kestrel 运行第一个 ASP.NET 5 应用程序会导致 IOException

    按照中描述的步骤Visual Studio 代码文档 https code visualstudio com Docs ASPnet5 运行最终命令dnx kestrel通过 Mac OS X 上 VSCode 的命令面板访问时会导致 IO
  • 为什么 TypeScript 中默认导出接口有限制?

    我正在使用 TypeScript 1 5 beta 并且尝试将接口导出为默认导出 以下代码会在 Visual Studio 和 WebStorm 中导致错误 export default interface Foo 但是 下面的代码可以正常
  • 在 Angular2 (TS) 中导入模块的选项

    我知道有一些进展或至少有计划 5093 https github com Microsoft TypeScript issues 5039 5728 https github com Microsoft TypeScript pull 57
  • 自定义错误处理程序抛出错误:无法读取未定义的属性“get”(注入器)

    我正在 Angular 4 中构建自定义错误处理程序 以使用错误拦截器处理不同类型的应用程序错误 创建一个基类 应用程序错误 ts 和其他类 例如处理 403 错误创建类拒绝访问 ts 扩展了这个基类 在基类中注入了一个服务toastrSe
  • Flutter sqflite 插入列表

    我正在尝试将列表插入到 flutter 中的 sql 数据库中 但我不知道该怎么做 有人可以帮助我吗 当我初始化 mi 数据库时 我有这个 Directory documentsDirectory await getApplicationD
  • 如何使 VS Code 建议片段位于建议列表的顶部?

    我想在 VS Code 中使用代码片段 但是当我输入时 例如 for在 javascript 文件中 IntelliSense 不建议片段 for loop 我需要手动滚动下拉列表并选择它 有没有办法让 VS Code 首先建议片段 UPD
  • 如何找到所有带有某种装饰的类?

    在Java中 我们可以使用 类路径扫描 找到具有给定注释的所有类 我们如何在 TypeScript 中做类似的事情 有没有办法找到所有装饰有某种装饰的类 这是一个例子 它假设您有某种方式引用范围 这magical类装饰器创建一个名为的字符串
  • 获取路由查询参数

    我正在尝试从 rc1 迁移到 rc4 但在获取查询字符串参数时遇到问题 ActivatedRoute 对象始终为空 英雄组件 ts import Component OnInit from angular core import Contr
  • 如何在 Durandal 中为我的 shell 视图模型使用类?

    我正在查看 Hot Towel 模板 并试图让它在 TypeScript 中工作 但我在转换 shell 视图模型时遇到了问题 我正在尝试将其转换为 TS 对我来说更有意义的是它应该是一个类 而不是简单地导出如图所示的函数here http
  • TypeScript 与 React Lazy 出现 Promise 错误

    我正在使用带有打字稿的反应 我使用了更高阶的组件来检查用户是否经过身份验证 添加临时后 我在路线中收到错误 如下所示 home nidhin Documents Nidhinbackup F iot remsys demotwo remsy
  • 错误 C2039: 'IsNearDeath': 不是 'Nan::Persistent> 的成员

    我最近升级了我的nodejs to v12 3 1 现在当我尝试跑步时npm install在我的项目存储库中 我收到上述错误 error C2059 syntax error compiling source file src custo
  • 字符串类型中不​​存在属性 id

    我的 IDE 中出现以下错误 Property id does not exist on type string typeScript对于这行代码 if customer id id doesn t like customer id ret
  • ant design select占位符问题

    我在我的 React 应用程序中使用 antd design 这是我遇到问题的代码片段
  • TypeScript 通过值类型缩小可索引类型的键范围

    假设我们有一个通用的可索引类型 我如何才能仅检索其值的类型以便能够缩小到仅某些键 imagine check is a function and its second argument only allows the property a
  • Nightmare.js 截图缓冲区长度 0

    我正在运行一个 night js 脚本 我试图在其中截取页面上多个元素的屏幕截图 The first元素被捕获得很好 但折叠下方的所有其他元素都以零长度捕获 我正在努力调试这个问题 任何帮助将非常感激 基本上这个脚本会遍历一个页面并选择al
  • Java 的 React Typescript API 类型 byte[] image/png

    我正在将其转换为我们的 React Web 应用程序的 Typescript 服务 下面是 Java 中的原始 API Typescript 响应数据类型是什么 斑点 GET Path vendorId Photo Produces ima
  • 防止集成终端自动打开

    每当我在 VS Code 中打开 PowerShell 脚本时 集成终端就会打开 如何防止集成终端自动打开 我搜索了 终端 的设置 但没有发现与自动启动相关的内容 VSCode 会记住您的上一次会话 因此 如果关闭终端并退出 VSCode
  • typescript 中的重载签名和实现签名

    我正在阅读 Typescript 手册 我很难理解为什么以下代码片段有错误消息 function fn x string void function fn vo Expected to be able to call with zero a
  • CRA 的 src 之外的测试文件夹?

    我为我创建的应用程序编写测试npx create react app template typescript但我不知道如何将测试文件保存在组件旁边或单独的文件夹中test 我想我应该创造test文件夹外src src App tsx etc
  • 如何导入 nano (couchdb) - typescript

    我在节点应用程序中导入和使用 nano 时遇到问题 js 方式 来自文档 是 var nano require nano http localhost 5984 我该如何用打字稿做到这一点 I tried import as Nano fr

随机推荐

  • mysql:信息架构上的访问被拒绝

    当我创建新用户或向现有用户授予权限时 出现此错误 ERROR 1045 28000 Access denied for user root localhost using password YES 对除 information schema
  • 迭代范围内的单元格时出现类型不匹配错误

    您好 我正在尝试在电子表格上运行以下 vb 代码 但在范围内出现数据类型不匹配的错误 我只是想锁定值为 0 的单元格 有些单元格的值为 NA 有什么想法吗 Sub Test Dim Cell As Range Set MyPlage Ran
  • Maven glassfish 嵌入式插件中的 JSP 热插拔

    我正在尝试设置嵌入式 glassfish maven 插件并且成功了 但是我无法使 jsp 文件热交换 这是我的配置
  • 10k 租户和多租户数据库设计 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们正在尝试为新的 Web 应用程序决定数据库设计 我们预计将有近 10 000 个租户 并且希望将他们的数据保存在单独的数据库中 如
  • Qt iOS 运行失败

    当我尝试在 iOS 模拟器上运行我的应用程序时 应用程序输出 I see Starting remote process Run ended 当我尝试在 iPhone 上运行它时 Issues I see xcodebuild failed
  • 如何在休眠中为自身实体添加@onetoone映射

    如何为自身实体添加一对一映射 就像这个例子一样 我想为 Person 本身建立父子关系 Entity Table name PERSON public class Person Id Column name personId private
  • 在 make 中“触及”目标是什么意思?

    例如 从 mingw32 make exe help 选项 t touch Touch targets instead of remaking them 它只是意味着更新文件修改时间 这样下次就不会认为这些文件是旧的
  • CSS - 在电脑上分屏但在移动设备上堆叠

    我试图将我的页面分成 4 个相等的部分 我想将左上角水平分成 2 个部分 我主要关心的是它在移动设备上的表现 我不希望它像在电脑上那样被分割 我希望它被堆叠起来 块在另一个上面 如图所示 我想过引导网格 但我做不到 到目前为止我所拥有的内容
  • 如何使用量角器+角度获取迭代器索引/键?

    通过中继器查找元素时有没有办法访问迭代器索引 键 protractor By repeater id cat in pets 在本例中 我希望访问猫的 id id 不是表中显示为值的列之一 它用于导航ng click goto pets c
  • SSL_connect 返回=1 errno=0 状态=SSLv3 读取服务器证书 B:证书验证失败

    我在用Authlogic 连接 https github com viatropos authlogic connect用于第三方登录 运行适当的迁移后 Twitter Google yahoo 登录似乎工作正常 但 facebook 登录
  • 为什么 Python 中对集合的处理不统一?

    Python 中集合和列表的处理方式不同 并且似乎没有统一的方法来处理这两者 例如 将一个项目添加到set是使用完成的add方法 并且对于list它是使用完成的append方法 我知道这背后有不同的语义 但也有共同的语义 并且通常与某些集合
  • 用于电子邮件的 JUnit 报告单页 XSLT

    我有一个 Junit 进程 每天晚上运行大量数据完整性测试 我希望它以格式良好的 HTML 电子邮件形式发送结果 问题是 JUnit 中内置的 HTML 格式化程序使用框架和外部样式表 因此它不适合电子邮件 普通格式化程序将结果埋在一堆原本
  • 未捕获的语法错误:计算时出现意外的标识符

    我有一些返回一个的代码Uncaught SyntaxError当我运行它但我不明白为什么 我尝试将其通过 JSHint 但无济于事 这是明显错误的代码 function compute expr x string var whatisx x
  • Java8计算地图中对象列表的平均值

    初始数据 public class Stats int passesNumber int tacklesNumber public Stats int passesNumber int tacklesNumber this passesNu
  • MongoDB:如何在 C# 中加载带有嵌套数组的集合?

    我有一个名为 服务器 的集合 其中包含以下文档 name West ip 123 123 123 123 channels name English port 1234 status 0 name Spanish port 1235 sta
  • 为什么带有空格的 cookie 值到达客户端时会带有引号?

    我是一名 NET 开发人员 开始涉足 Java 在 NET 中 我可以将 cookie 的值设置为其中包含空格的字符串 new HttpCookie myCookieName my value 当我在客户端 JavaScript 读取该值时
  • 批处理文件重复以前的工作程序

    我需要有关批处理脚本的帮助 它运行得很好 但后来当我想运行它时 它不断重复我之前显示的结果 例如 我上周执行了一个名为运行 echo 程序上周首先运行 的程序 当我今天尝试通过 echo 这是今天 运行它时 它运行并显示之前的结果 PS 代
  • 从 Composer 在 dataproc 集群上执行 bash 脚本

    我想在使用简单的 shell 脚本创建集群后将 jar 添加到特定位置的 dataproc 集群中 创建 dataproc 集群后 我想自动执行此步骤以从 Composer 运行 下一步是执行 bash 脚本 该脚本会将 jar 添加到 d
  • jinja 2 库中的语法错误

    为了在 suse Linux 服务器上运行 IPython Notebook 我需要安装jinja2图书馆 pip 3 2 install jinja2 安装打印语法错误 https gist github com anonymous 62
  • TSLint 不适用于 CRA 和 TypeScript

    我花了几个小时绞尽脑汁试图为使用 create react app 创建的 TypeScript 项目启用 linting The wmonk create react app typescript https github com wmo