小编典典

预期换行符为“LF”,但发现“CRLF”换行样式

all

在 gulp 项目中使用 eslint 时,我遇到了这样的错误问题
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style,我正在使用
Windows 环境来运行 gulp,整个错误日志如下所示

 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();

阅读 115

收藏
2022-05-17

共1个答案

小编典典

linebreak-style检查您的 .eslintrc 或源代码中是否有如下规则配置:

/*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)。

这是一个可以自动修复的规则。命令行上的--fix选项自动修复此规则报告的问题。

但是,如果您希望CRLF在代码中保留行尾(当您在 Windows 上工作时),请不要使用该fix选项。

2022-05-17