当在gulp项目中使用eslint时,我遇到过这样的错误问题 预期换行符是“LF”,但发现“CRLF”换行风格,我使用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();

当前回答

我将换行样式设置为0,但不工作。

rules: {
    "linebreak-style": 0,
 },

所以后来我发现需要把每个文件从“CRLF”改为“LF”,这需要很多时间。

这很有帮助

git config core.autocrlf false 
git rm --cached -r . 
git reset --hard

其他回答

如果你正在使用vscode并且你在Windows上,我建议你单击窗口右下角的选项,并将其从CRLF设置为LF。因为我们不应该仅仅为了删除Windows上的错误而关闭配置

如果没有看到LF / CLRF,则右击状态栏并选择编辑器行结束。

检查你是否在你的.eslintrc或源代码中配置了如下换行样式的规则:

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

因为你在Windows上工作,你可能想要使用这个规则:

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

请参阅换行样式的文档:

When developing with a lot of people all having different editors, VCS applications and operating systems it may occur that different line endings are written by either of the mentioned (might especially happen when using the windows and mac versions of SourceTree together). The linebreaks (new lines) used in windows operating system are usually carriage returns (CR) followed by a line feed (LF) making it a carriage return line feed (CRLF) whereas Linux and Unix use a simple line feed (LF). The corresponding control sequences are "\n" (for LF) and "\r\n" for (CRLF).

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

但是如果您希望在代码中保留CRLF行结束符(因为您在Windows上工作),则不要使用fix选项。

当我用eslint使用VSCode时,同样的情况也发生了。如果你使用VSCode,

1 -在VScode的右下角单击名称可以是LF或CRLF的区域。

2—在下拉菜单中选择“LF”。

这对我来说很有效。

这里有一个非常好的方法来管理这个错误。你可以把下面的代码放到.eslintrc.js文件中。

根据操作系统,它将使用适当的行结束符。

rules: {
        'linebreak-style': ['error', process.platform === 'win32' ? 'windows' : 'unix'],
 }

我将换行样式设置为0,但不工作。

rules: {
    "linebreak-style": 0,
 },

所以后来我发现需要把每个文件从“CRLF”改为“LF”,这需要很多时间。

这很有帮助

git config core.autocrlf false 
git rm --cached -r . 
git reset --hard