【发布时间】:2016-06-04 16:28:04
【问题描述】:
我试图忽略带有 ESLint “max-len” 规则和一些 ES6 代码的导入语句。我的规则集写在index.js 的配置中,规则本身的配置如下所示:
'max-len': [
2,
80,
4,
{
ignoreUrls: true,
ignorePattern: /^import\s.+\sfrom\s.+;$/
}
],
考虑到我提供的正则表达式,超过 80 个字符的行仍然会触发错误。我对规则本身有什么不理解的地方吗?
我也尝试过更简单的正则表达式并传递正则表达式字符串,例如:
'^import.*'
【问题讨论】:
-
如果删除
$会怎样?该行是否包含尾随\n或\r并不明显。 -
定义“不喜欢”?您是否尝试过将其作为带有双重转义的字符串传递,就像文档中显示的示例一样?例如
ignorePattern: "^import\\s.+\\sfrom\\s.+;$" -
看来即使我把它说得很笼统,比如
/^import*/,它仍然失败 -
@loganfsmyth,是的,我也尝试过传递字符串。文档说如果你使用 JSON 或 YAML,你需要传递一个字符串。尽管如此,它仍然因“^import*”而失败。
-
@loganfsmyth 在源代码中被用作
ignorePattern = new RegExp(ignorePattern);,所以它可以是任何一个。
标签: javascript regex ecmascript-6 eslint