在 gulp 项目中使用 eslint 时,我遇到了这样的错误问题 Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style,我正在使用 Windows 环境来运行 gulp,整个错误日志如下所示
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
Kiran (master *) Lesson 4 $ gulp Using gulpfile c:\Users\Sai\Desktop\web-build-tools\4\ 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:\Users\Sai\Desktop\web-build-tools\4\js\extra.js $>Users\Sai\Desktop\web-build-tools\4\js\extra.js error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
我还包括 extra.js 文件作为指示可能错误的错误。
function getWindowHeight() { return window.innerHeight; } getWindowHeight();
linebreak-style检查您的 .eslintrc 或源代码中是否有如下规则配置:
linebreak-style
/*eslint linebreak-style: ["error", "unix"]*/
由于您在 Windows 上工作,因此您可能希望改用此规则:
/*eslint linebreak-style: ["error", "windows"]*/
参考文档linebreak-style:_
当与很多人一起开发时,他们都拥有不同的编辑器、VCS 应用程序和操作系统,可能会出现由上述任何一个编写的不同行尾(尤其是在同时使用 Windows 和 Mac 版本的 SourceTree 时可能会发生)。 Windows 操作系统中使用的换行符(新行)通常是回车符(CR)后跟换行符(LF),使其成为回车符换行符(CRLF),而 Linux 和 Unix 使用简单的换行符(LF)。对应的控制序列是"\n"(对于LF)和"\r\n"对于(CRLF)。
当与很多人一起开发时,他们都拥有不同的编辑器、VCS 应用程序和操作系统,可能会出现由上述任何一个编写的不同行尾(尤其是在同时使用 Windows 和 Mac 版本的 SourceTree 时可能会发生)。
Windows 操作系统中使用的换行符(新行)通常是回车符(CR)后跟换行符(LF),使其成为回车符换行符(CRLF),而 Linux 和 Unix 使用简单的换行符(LF)。对应的控制序列是"\n"(对于LF)和"\r\n"对于(CRLF)。
"\n"
"\r\n"
这是一个可以自动修复的规则。命令行上的--fix选项自动修复此规则报告的问题。
--fix
但是,如果您希望CRLF在代码中保留行尾(当您在 Windows 上工作时),请不要使用该fix选项。
CRLF
fix