CRA 打字稿皮棉

Posted

技术标签:

【中文标题】CRA 打字稿皮棉【英文标题】:CRA typescript lint 【发布时间】:2020-02-03 03:14:54 【问题描述】:

我想在我的 package.json 上设置一个命令,该命令可以在我的 react 应用程序上执行 TS 文件 linting(使用为应用程序提供 react-scripts 3.1.2 的 CRA)。

我看到 tslint 正在被弃用,这就是 React 社区转向 ESlint 的原因。

package.json 文件上有一些线索,比如:

  "eslintConfig": 
    "extends": "react-app"
  

所以我的想法是,当我运行 eslint 时,它可以采用该配置并使用所有 CRA 设置。

我试过了:

"lint" : "eslint --ext=jsx,ts,tsx src"

但运气不好,因为我在代码上添加了一些错误,但它仍然没有显示任何信息。

有什么线索吗?

【问题讨论】:

你试过"eslint --ext .jsx,.ts,.tsx src"吗? yeap....我试过了,甚至取出类型来破坏应用程序,添加空格等。 这个document 可以帮助你。 您有.eslintrc.js 文件吗?设置了什么解析器? @DragonWhite 谢谢!我正在看那个。令我惊讶的是,一个简单的 lint 会导致对 react-scripts 进行大量研究。我会试试的! 【参考方案1】:

所以我找到了一个好方法。我的想法是让所有东西都符合 CRA 标准并重用所有东西(不知道为什么没有人在 CRA 上添加这个,可能我会在未来添加一个 PR 来检查)

这解决了问题,重用了 CRA 使用的所有依赖项:

在 package.json(CRA 标准)上

  "eslintConfig": 
    "extends": [
      "react-app",     
      "plugin:react/recommended",
      "plugin:@typescript-eslint/recommended"
    ]
  

然后你可以添加一个 lint 脚本:

    "lint" : "eslint ./src/**/*.tsx,ts",

我希望这会对某人有所帮助:-)

另外,如果有人知道更多关于这方面的良好做法,将不胜感激!

PD:.eslintignore 也可以正常工作

【讨论】:

以上是关于CRA 打字稿皮棉的主要内容,如果未能解决你的问题,请参考以下文章

打字稿打字,打字文件夹是啥

为我的反应打字稿组件库生成/维护打字稿定义文件

打字稿 axios 打字

反应打字稿打字不起作用

打字稿:具有有效打字的“找不到模块”

CRA 忽略 jest.config 文件