Почему «create-react-app» всегда дает мне 2 вместо 4 отступов?

Каждый раз, когда я запускаю «create-react-app», мой инициализированный проект использует 2 вместо 4 отступов. Как автоматически конвертировать в 4 вкладки?

Я использую Atom в качестве текстового редактора. В «config.cson» длина табуляции всегда равна 4.


person Community    schedule 29.03.2018    source источник
comment
FWIW, это более или менее текущая практика JS, к лучшему или к худшему. Просто запустите любой бьютификатор, который вы используете, и переформатируйте, если вы настаиваете на больших отступах.   -  person Dave Newton    schedule 30.03.2018
comment
Это очень широкое утверждение. Я работаю в довольно крупных компаниях, и всем командам разработчиков нравятся 4 пробела для удобства чтения.   -  person Neil Guy Lindberg    schedule 13.07.2020


Ответы (3)


Невозможно указать create-react-app использовать отступ с использованием 4 пробелов вместо 2. Это стиль, который стандартизировали создатели React.

Лучшее, что вы можете сделать, это выполнить глобальный поиск и заменить в исходных файлах два пробела и заменить его четырьмя пробелами.

person Andrew Pearson    schedule 30.03.2018

Я добавил .eslintrc (в корневую папку проекта, но он может быть и в ./src, поскольку используемые настройки eslint ближе к тому, что подвергается линтингу) со следующими правилами (будьте осторожны — эти синтаксические анализаторы Правила /parserOption меняются быстро). https://eslint.org/docs/rules/indent

{
    "parser": "babel-eslint",
    "parserOptions": {
        "ecmaVersion": 2018,
        "sourceType": "module",
        "ecmaFeatures": {
            "jsx": true
        }
    },
    "rules": {
        "indent": ["error", 4, { "SwitchCase": 1 }]
    }
}

Затем я запустил эту команду: eslint ./src/ --fix

По сути, я переопределяю любые вложенные/скрытые настройки eslint, которые по умолчанию входят в приложение create-react-app. Я использую VSCode и обнаружил, что мне пришлось повторно открывать файлы, чтобы показать изменения (с визуальными помощниками, которые я использую, например, с отступами).

ПРИМЕЧАНИЕ. Отредактировано для добавления SwitchCase. Без этого, на сегодняшний день, дела не получают отступа в операторе switch (визуально в том же столбце, что и ключевое слово switch) по умолчанию для create-react-app. Вы можете просто пропустить этот дополнительный объект в массиве отступов, если вам это нравится.

person Neil Guy Lindberg    schedule 13.07.2020
comment
Сейчас не работает - Error: Cannot find module 'babel-eslint' - person milanHrabos; 10.07.2021

Не уверен конкретно в приложении create-реагировать, но это должно помочь настроить ваше приложение для отступов в целом.

http://editorconfig.org/

Вы можете выбрать свой редактор и внести необходимые изменения в конфигурацию вашего проекта, чтобы сохранить общий интервал и идентификацию по всему проекту - независимо от того, кто использует какой редактор.

person gia    schedule 30.03.2018