相关疑难解决方法(0)

更漂亮的将 if 语句放在一行上

更漂亮的格式 if 没有花括号的语句变成一行。

这意味着:

function getErrorMessage(response) {
    let errorMessage = null;

    if (!response.originalError.response) 
        errorMessage = 'network error';
    else 
        errorMessage = response.originalError.response.data.errorMessage;

    return errorMessage;
}
Run Code Online (Sandbox Code Playgroud)

变成这样:

function getErrorMessage(response) {
    let errorMessage = null;

    if (!response.originalError.response) errorMessage = 'network error';
    else errorMessage = response.originalError.response.data.errorMessage;

    return errorMessage;
}
Run Code Online (Sandbox Code Playgroud)

这是FAR更不可读。

有没有办法禁用它?

prettier

8
推荐指数
1
解决办法
1271
查看次数

是否有一个 eslint 插件可以强制执行无括号单行 if 语句?

我想强制执行没有大括号的一行 if 语句。例如:

// incorrect
if(foo) {
    bar()
}

// correct
if(foo) bar()
Run Code Online (Sandbox Code Playgroud)

但如果我有 else/else if,我仍然想保留大括号:

// incorrect
if(foo) bar()
else(baz) qux()

// correct
if(foo) {
    bar()
} else(baz) {
    qux()
}
Run Code Online (Sandbox Code Playgroud)

我能够创建一个像这样的插件:

module.exports = {
    meta: {
        type: "layout",

        fixable: "whitespace",

        messages: {
            noSingleLineIfsAsBlock: "Don't use braces with one line if statements",
            useBlocksWithElseCases: "Use braces when there are else ifs and/or elses"
        }
    },
    create(context) {
        return {
            IfStatement(node) {
                if(node.alternate === null && node.parent.type !== "IfStatement") {
                    if(node.consequent.type …
Run Code Online (Sandbox Code Playgroud)

javascript typescript eslint

6
推荐指数
0
解决办法
507
查看次数

标签 统计

eslint ×1

javascript ×1

prettier ×1

typescript ×1