预计的换行符是'LF',但在Eslint中使用gulp发现'CRLF'换行符
在使用eslint的时候,我遇到了这样的错误
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
,我正在使用Windows环境运行吞咽,整个错误日志如下
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();
请检查您的.eslintrc或源代码中是否具有如下所示的linebreak-style
规则:
/*eslint linebreak-style: ["error", "unix"]*/
由于您正在使用Windows,因此您可能需要使用此规则:
/*eslint linebreak-style: ["error", "windows"]*/
请参阅linebreak-style
的文档 :
在与许多人编写程序,VCS应用程序和操作系统的人进行开发时,可能会出现不同的行结尾由上述任何一种写入(特别是在将SourceTree的Windows和Mac版本一起使用时)。
在Windows操作系统中使用的换行符(换行符)通常是回车符(CR),后面是换行符(LF),使其成为回车换行符(CRLF),而Linux和Unix使用简单换行符(LF)。 相应的控制序列是
"\n"
(对于LF)和"\r\n"
(CRLF)。
这是一个可自动修复的规则。 命令行上的--fix
选项自动修复此规则报告的问题。
但是,如果您希望在代码中保留CRLF
行结束符(就像您在Windows上工作一样),请不要使用fix
选项。
我发现它非常有用(我想忽略换行符,而不是更改任何文件)使用换行符样式在.eslintrc中忽略它们: https ://stackoverflow.com/a/43008668/1129108
module.exports = { extends: 'google', quotes: [2, 'single'], globals: { SwaggerEditor: false }, env: { browser: true }, rules:{ "linebreak-style": 0 } };