2016-06-15 94 views
49

当吞气项目中,我遇到了一个问题,错误这样
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style使用eslint发现“CRLF”断行式在Eslint,我使用的是Windows环境下运行吞掉及以下预计换行符是“LF”,但使用一饮而尽

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

回答

85

检查,如果你有linebreak-style规则配置如下无论是在你的.eslintrc或源代码:

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

既然你在Windows上工作,你可能想用这个规则,而:

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

参考linebreak-styledocumentation

当有很多的人都具有不同的编辑器开发,VCS 应用程序和操作系统它使用Windows和SourceTree的MAC版本时可能出现的不同的线路 的结局是由任一提到(可能尤其是 发生写 在一起)。

在windows操作系统所使用的换行符(新行)是使其成为 回车换行符(CRLF),然后换行(LF) 通常回车(CR),而Linux和Unix使用一个简单的 换行(LF)。 (CRLF)的相应控制序列为"\n"(对于LF) 和"\r\n"

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

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

32

我发现它有用的(在这里我想忽略换行不修改任何文件)使用换行符风格按照这个答案忽略它们在.eslintrc:https://stackoverflow.com/a/43008668/1129108

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