Ожидается, что linebreaks будет "LF", но найден "CRLF" linebreak-style

при использовании eslint в проекте gulp я столкнулся с проблемой с такой ошибкой
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style и я использую среду Windows для запуска глотка, и весь журнал ошибок приведен ниже

 Kiran (master *) Lesson 4 $ gulp
 Using gulpfile c:UsersSaiDesktopweb-build-tools
 gulpfile.js
 Starting 'styles'...
 Finished 'styles' after 17 ms
 Starting 'lint'...
 'lint' errored after 1.14 s
 ESLintError in plugin 'gulp-eslint'
 sage: Expected linebreaks to be 'LF' but found 'CRLF'.
 ails: fileName: c:UsersSaiDesktopweb-build-toolsjsextra.js



$>UsersSaiDesktopweb-build-toolsjsextra.js
error  Expected linebreaks to be 'LF' but found 'CRLF'  linebreak-style

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

function getWindowHeight() {
    return window.innerHeight;
}

getWindowHeight();

3 ответов


проверьте, есть ли у вас linebreak-style правила настройки, как показано ниже либо в вашем .eslintrc или в исходном коде:

/*eslint linebreak-style: ["error", "unix"]*/

так как вы работаете на Windows, вы можете использовать это правило вместо:

/*eslint linebreak-style: ["error", "windows"]*/

относятся к документация of linebreak-style:

при разработке с большим количеством людей, имеющих разные Редакторы, VCS применения и операционные системы может произойти что различная линия окончаний либо из упомянутых (особенно происходит при использовании версий SourceTree для windows и mac вместе.)

линейные взломы (новые строки), используемые в операционной системе windows обычно возврат каретки (CR) и перевода строки (LF), что делает его подача обратной линии каретки (CRLF), тогда как Linux и Unix используют простой строки (LF). Соответствующие управляющие последовательности "\n" (для LF) и "\r\n" for (CRLF).

это правило автоматически поправимо. The --fix опция в командной строке автоматически исправляет проблемы, о которых сообщает это правило.

но если вы хотите сохранить CRLF строки-окончания в коде (как вы работаете на Windows) не используйте .


Я нашел полезным (где я хотел игнорировать каналы строк и не изменять файлы), чтобы игнорировать их в .eslintrc использует стиль linebreak в соответствии с этим ответом:https://stackoverflow.com/a/43008668/1129108

module.exports = {
  extends: 'google',
  quotes: [2, 'single'],
  globals: {
    SwaggerEditor: false
  },
  env: {
    browser: true
  },
  rules:{
    "linebreak-style": 0
  }
};

Если вы используете vscode и вы Windows Я бы рекомендовал вам нажмите опцию в правом нижнем углу окна и установите ее в LF из CRLF. Потому что мы не должны отключать конфигурацию только ради удаления ошибок на Windows