【发布时间】:2020-08-15 05:26:43
【问题描述】:
我怎样才能让 ESLint indent 喜欢这个代码:
const a = `
<li
style=${styleMap({
color: '#F00', // bad line
background: '#0F0' // bad line
})} // bad line
>Something</li>
`;
它不喜欢我标记为bad line 的行的缩进。这就是它要我做的:
const a = `
<li
style=${styleMap({
color: '#F00',
background: '#0F0'
})}
>
<span>Something</span>
</li>
`;
这看起来很荒谬。
这是我目前关于“缩进”的规则:
indent: ['error', 2, { SwitchCase: 1 }],
我查看了indent 文档,但没有看到任何与这种情况相匹配的内容。
编辑:我查看了indent 规则的所有选项,将它们全部设置为0,然后逐一设置它们为10,看看哪一个会影响我的表情。看起来ObjectExpression 是罪魁祸首,但这个值通常很好。
在处理模板文字多行占位符对象声明时似乎存在一些问题。我认为我唯一的办法是将其添加到ignoreNodes。
【问题讨论】:
-
在
${之后和相应的右大括号之前添加换行符怎么样? -
@AndreNuechter 即使这样做,它也会抱怨
${和关闭}行之间的所有内容都太远了。想让我把它们推回去,所以styleMap(与const对齐。 -
我刚刚在我的 IDE 中尝试了 sn-p,但没有收到任何疯狂的格式化建议(我使用几乎相同的 eslint 规则)。有没有可能更漂亮或更漂亮?
-
不。我直接在原始 JS 上从命令行运行
eslint。唯一的另一件事是我从google配置集继承,但我不认为 ESLint 对单个规则进行部分继承,所以我认为这不应该发挥作用。
标签: javascript eslint static-analysis