问题描述
我正在为我的 Next.js
项目设置 ESLint 和 Prettier。我已关注其中一篇文章 this one。
到目前为止,这是我的 package.json
文件(部分):
"lint-staged": {
"*.{js,jsx}": [
"eslint '*/**/*.{js,jsx}' --fix"
]
}
虽然我已经复制粘贴了但是无法理解 *.{js,jsx}
& */**/*.{js,jsx}
这些模式究竟是什么意思?另外:*.+(js|jsx)
想了解这个模式。
解决方法
它类似于正则表达式,称为 glob pattern,因此它知道应该将命令应用于哪些文件。
-
*
任意字符 -
.
一个点 -
{js,jsx}
'js' 或 'jsx' -
**
may consist of multiple directory levels
foo.js 匹配
bar.php 没有。
第二个是实际的 JS lint 命令。它基本上意味着与该结构匹配的所有内容都得到 eslint
。
例如,您还可以设置 "eslint 'src/javascript/*.{js,jsx}' --fix"
,如果这是您希望它检查的唯一目录,而不要理会所有其他 JS 文件。