Se esperaba que los saltos de línea fueran 'LF' pero se encontró el estilo de salto de línea 'CRLF'
Al usar eslint en el proyecto gulp, encontré un problema con un error como este
Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
y estoy usando el entorno Windows para ejecutar gulp y el registro de errores completo se proporciona a continuación.
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
También incluí el archivo extra.js como error que indica un posible error.
function getWindowHeight() {
return window.innerHeight;
}
getWindowHeight();
Compruebe si tiene la linebreak-style
regla configurada como se muestra a continuación en su .eslintrc o en el código fuente:
/*eslint linebreak-style: ["error", "unix"]*/
Dado que está trabajando en Windows, es posible que desee utilizar esta regla en su lugar:
/*eslint linebreak-style: ["error", "windows"]*/
Consulte la documentación de linebreak-style
:
Al desarrollar con muchas personas que tienen diferentes editores, aplicaciones VCS y sistemas operativos, puede ocurrir que cualquiera de los mencionados escriba diferentes finales de línea (puede ocurrir especialmente cuando se usan las versiones de SourceTree para Windows y Mac juntas).
Los saltos de línea (nuevas líneas) utilizados en el sistema operativo Windows suelen ser retornos de carro (CR) seguidos de un salto de línea (LF), lo que lo convierte en un salto de línea de retorno de carro (CRLF), mientras que Linux y Unix utilizan un salto de línea simple (LF). Las secuencias de control correspondientes son
"\n"
(para LF) y"\r\n"
para (CRLF).
Esta es una regla que se puede corregir automáticamente. La --fix
opción en la línea de comando corrige automáticamente los problemas informados por esta regla.
Pero si desea conservar CRLF
los finales de línea en su código (mientras trabaja en Windows), no utilice esta fix
opción.
Me resultó útil (cuando quería ignorar los cambios de línea y no cambiar ningún archivo) ignorarlos en .eslintrc usando el estilo de salto de línea según esta respuesta: https://stackoverflow.com/a/43008668/1129108
module.exports = {
extends: 'google',
quotes: [2, 'single'],
globals: {
SwaggerEditor: false
},
env: {
browser: true
},
rules:{
"linebreak-style": 0
}
};
Si está utilizando vscode y está en Windows , le recomendaría que haga clic en la opción en la parte inferior derecha de la ventana y la configure en LF desde CRLF . Porque no debemos desactivar la configuración sólo por eliminar errores en Windows
Si no ve LF/CLRF, haga clic derecho en la barra de estado y seleccione Editor de fin de línea.
Aquí hay una muy buena manera de gestionar este error. Puede colocar la siguiente línea en el archivo .eslintrc.js.
Según el sistema operativo, se necesitarán finales de línea adecuados.
rules: {
'linebreak-style': ['error', process.platform === 'win32' ? 'windows' : 'unix'],
}