Vue/TypeScript/Linting 排除 .vue 文件

Posted

技术标签:

【中文标题】Vue/TypeScript/Linting 排除 .vue 文件【英文标题】:Vue/TypeScript/Linting exclude .vue files 【发布时间】:2021-11-23 10:31:01 【问题描述】:

我有一个 Vue2 项目,我正在慢慢转换为 TypeScript。我的第一阶段是检查 .js 文件,将它们重命名为 .ts 并确保它们通过 linting 规则。

问题是,当我运行构建时,它会拾取所有 .vue 文件(以及 .js 文件)并输出大量 linting 错误。

如何防止非 .ts 文件的 ts linting?

仅供参考 - 我尝试创建一个全新的 vue cli 项目并将 eslintrc、tsconfig 和相关的 package.json 部分复制到我的项目中。但是,这并不能解决问题。我还尝试将 tsconfig 文件的“包含”部分设置为仅指向我的一个简单的 .ts 文件(没有导入,只导出一个字符串)。但是,当我进行构建时,它仍然在抱怨每个 .vue、.js 等文件。

我不确定这是相关的还是单独的问题,但在解决了这个问题并且我已将所有 .js 转换为 .ts 文件后,我需要从 .vue 文件开始。这意味着我只需要定位具有 script lang=ts 标签的 .vue 文件。

【问题讨论】:

【参考方案1】:

vue-cli-service lint 的参数被传递给 ESLint,因此您可以传递 --ext option 来指定要 lint 的文件扩展名。

例如,这个lint NPM 脚本只检查.ts./src 及其子目录下的文件:

// package.json

  "scripts": 
    "lint": "vue-cli-service lint ./src --ext .ts"
  

或者,您可以直接从命令行运行它,因为yarn 也将参数传递给底层 NPM 脚本:

yarn lint ./src --ext .ts

【讨论】:

您好,感谢您提供的信息。在这种情况下是否可以使用多个 linter,例如用于 ts 的 ts linter 和用于 js 的常规 linter?此外,这是否能够用于解析 vue 文件并在 script=ts 标签存在时应用 ts?谢谢!

以上是关于Vue/TypeScript/Linting 排除 .vue 文件的主要内容,如果未能解决你的问题,请参考以下文章

汇总不排除排除的包

如何通过排除特定格式的某些波段来排除空格?

Windows Server 2016-配置Windows Defender防病毒排除项

Rsync用法 排除

CSS: use not: 不仅要排除div,还要排除其中的所有div?

序列化:如何排除 json 响应中的实体列,但不排除 Nestjs 中的内部查询