【发布时间】:2020-08-18 18:39:04
【问题描述】:
我最近在一个从未使用 linter 解析过的代码库中添加了 eslint,作为 webpack 加载器。
显然触发的错误是无穷无尽的:有没有机会配置 eslint 只解析被触摸的文件?我希望 linter 解析开发人员进行更改的每个文件,并且仅限于这些文件。
这是我目前使用的加载器(以防万一),非常标准的配置:
{test: /\.(jsx|js)$/, loader: "eslint-loader?{cache: true}", exclude: /node_modules/}
谢谢
【问题讨论】:
-
嗯,“开发人员做出改变”的概念非常广泛。 eslint 没有任何内置的源代码版本控制概念,因此很难理解哪些文件已更改,哪些文件未更改
-
我不认为有办法直接用 eslint 来做,但我想到的第一件事可能是创建一个脚本,它使用 git 和 eslint 创建一个 eslintignore 文件跨度>
-
@Mazzy 你说的很有道理。当你说 git 时,我想到了提交时的 linter 解析; Makefile 可以节省时间。这两个有趣的选项,目前我都无法弄清楚哪个对我来说听起来更好。
-
是的,您可以从 Makefile 或 npm 脚本运行 lint。通常将 eslint 放在 npm 脚本中并在执行测试之前运行它或作为 git 的 prehook 是很常见的
-
我认为 Makefile 将依赖于每次保存文件时运行
make:所以这可能是一个编辑器配置。我不喜欢依赖编辑器设置的想法,我更喜欢系统设置:所以在我看来,对于这种特定情况,git hook 胜过 make。我也在考虑一个观察者,检查哪些文件正在发生变化,并从那里运行一个 linter。像这样的东西:npmjs.com/package/watch
标签: javascript webpack eslint