You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置ESLint使多行条件的运算符位于行首?

如何配置ESLint让多行if条件的运算符位于行首

你需要让多行if条件的逻辑运算符(如&&)放在行首而非行尾,方便单独注释某条条件。

期望格式:

if (
   …
   && … 
   && …
)

不期望的格式:

if (
   …
   … &&
   … &&
)

解决方案

通过ESLint的operator-linebreak规则可以实现这个格式要求,修改你的ESLint配置文件如下:

module.exports = {
    root: true,
    parser: '@typescript-eslint/parser',
    extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
    plugins: ['svelte3', '@typescript-eslint'],
    ignorePatterns: ['*.cjs'],
    overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
    settings: {
        'svelte3/typescript': () => require('typescript')
    },
    parserOptions: {
        sourceType: 'module',
        ecmaVersion: 2020
    },
    env: {
        browser: true,
        es2017: true,
        node: true
    },
    rules: {
        'operator-linebreak': ['error', 'before', {
            overrides: {
                '=': 'none' // 可选配置,避免赋值运算符强制换行,可根据需求调整
            }
        }]
    }
};

规则说明

  • 'operator-linebreak': ['error', 'before':强制所有运算符放在行首,违反时触发ESLint错误提示
  • overrides字段可针对特定运算符设置例外,比如示例中对赋值运算符=设置none,表示不强制其换行位置,保留原有书写习惯

如果你的项目同时使用Prettier,需要确保Prettier的配置与该ESLint规则兼容,避免格式冲突。

内容的提问来源于stack exchange,提问作者David Wolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:43:30