2016-06-15 37 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 
    } 
};