package.json 和 Eslint glob 扩展

Posted

技术标签:

【中文标题】package.json 和 Eslint glob 扩展【英文标题】:package.json and Eslint glob extension 【发布时间】:2019-07-30 21:31:25 【问题描述】:

我的 package.json 在下面。如何更新它以便 eslint 运行:

srctest 目录

.js.jsx 文件?现在 * 通配符包括我不想要的 .json。

package.json


...

"lint": "eslint src/**/*.js*,test/**/*.js*

...

【问题讨论】:

【参考方案1】:

您可以在eslint documentation阅读:

请注意,当传递一个 glob 作为参数时,它会被你的 shell 扩展。扩展的结果可能因您的 shell 及其配置而异。如果你想使用 node glob 语法,你必须引用你的参数(如果你需要在 Windows 中运行,使用双引号),如下:

所以建议使用双引号。一旦你使用双引号(需要在 json 字符串中转义),你可以稍微修改你的模式,例如


...

"lint": "eslint \"src,test/**/*.js,jsx\""

...

使用globster.xyz 进行测试(globster.xyz 一开始需要/,但 eslint 不需要,不知道为什么......)

通常有不止一种方法可以实现你想要的,但我认为这是最简洁的。

【讨论】:

我同意这个适用于 windows 机器的解决方案。【参考方案2】:

这是我用来在一个目录上运行 eslint 的:

"lint": "node_modules/.bin/eslint --ext js --ext jsx src"

我认为您可以将test 目录添加到src 之后的末尾即可。还有更多信息here

【讨论】:

如果我有 2 个文件夹 src 和 test 怎么办 我认为您可以将test 目录添加到src 之后的末尾以同时执行这两项操作。还有更多信息here【参考方案3】:

我认为您需要在这里以简洁换取具体:


...

"lint": "eslint src/**/*.js,src/**/*.jsx,test/**/*.js,test/**/*.jsx"

...

【讨论】:

暂时将此标记为答案,如果有更简洁的方法会很好。但这确实有效

以上是关于package.json 和 Eslint glob 扩展的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 package.json 在 js 和 jsx 文件上运行 eslint

如何配置 package.json 来运行 eslint 脚本

无法加载在 'package.json » eslint-config-react-app' 中声明的插件 'flowtype':找不到模块 'eslint/use-at-your-own-risk'

错误:无法加载在“.eslintrc.js”中声明的解析器“@babel/eslint-parser”:找不到模块“@babel/core/package.json”

依赖包版本号更新 warning package.json: “dependencies“ has dependency “eslint“ with range “^6.8.0“

如何解决这个错误:package.json » eslint-config-react-app/jest#overrides[0]: Environment key "jest/global