更漂亮的重新格式化单行`if`语句导致eslint错误:为什么?

时间:2017-12-20 17:32:20

标签: javascript eslint prettier

我希望在现有的代码库上运行Prettier,该代码库也使用eslint。

有很多地方存在单行if,我想让它们完好无损,但是Prettier不断将它们更改为多行,没有大括号,这当然会导致错误。

它来自: if (...) throw new Error(...)

要:

if (...)
  throw new Error(...)

让Prettier忽略这些规则的神奇组合是什么?

2 个答案:

答案 0 :(得分:0)

您需要更改允许的最大行长,默认为80。这是Prettier将多行换行的唯一原因。预期的行为是,如果不带括号的语句放在单行上:GitHub Issue

您可以在.prettierrc文件中更改最大行长:

{
    "printWidth": 80
}

答案 1 :(得分:-1)

您正在使用无括号的if语句。您还忘记了分号。如果声明不可靠,则不要使用括号。在后面添加大括号可以解决您的问题:

if (...) {
   throw new Error(...);
}

这也有效:

if (...) {throw new Error(...);}