Eliminar la solución de error `␍`eslint (más bonito/más bonito)

Eliminar la solución de error '␍' eslint (más bonito/más bonito)


fondo del problema

WindowsLuego de jalar el código en la notebook, al ejecutarlo , pre-commitse presenta el siguiente error:

Delete `␍`eslint(prettier/prettier)

imagen equivocada

Aquí hay algunas soluciones que he probado personalmente:

solución

1. Crtl+S para guardar el archivo

Presione Crtl+SGuardar el archivo de informe de error actual, eslintel error desaparece, pero Githay un registro de cambio de archivo adicional en el área de almacenamiento temporal y Working treeno se encuentra ninguna diferencia en la comparación.
inserte la descripción de la imagen aquí

Desventajas: no puede guardar todos los archivos uno por uno, lo cual es problemático y commitredundante.

二, Yarn Run Lint --fix

Es más fácil que el anterior y eslintel error desaparece, pero hay más nregistros de cambio de archivo en el área de almacenamiento temporal y Working treeno se encuentra ninguna diferencia en la comparación.

Contras: necesita committodos los archivos, redundante.

Referencia: "error Eliminar ⏎ más bonito/más bonito" en archivos .vue ``

3. Configurar el archivo .prettierrc

.prettierrcSimplemente escriba en el archivo en el directorio raíz del proyecto . De hecho, es prettierel formato que no permite la detección del final de cada línea del archivo.

"endOfLine": "auto"

Desventajas: no es compatible con el desarrollo multiplataforma y no es perfecto en términos de ingeniería de front-end.

参考资料:¿Por qué sigo recibiendo Delete 'cr' [más bonita/más bonita]?

4. Cambio de una tecla a través de IDE

[Error en la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leeching, se recomienda guardar la imagen y cargarla directamente (img-UQxZMB7g-1673344596978)(https://segmentfault.com/img/bVcPuZP “imagen ”)]

Este es el método proporcionado por Nuggets en el área de comentarios. Generalmente, la barra de estado debajo del IDE proporcionará una herramienta para "cambiar la secuencia de final de línea". Como se muestra en la figura anterior, puede cambiar a la secuencia de final de línea correcta con un click.

Desventaja: solo puede reparar el archivo actual, pero no puede resolver el problema del informe de errores para todo el proyecto.

Cinco, la mejor solución

Causa raíz del problema:

El culpable es gituna propiedad de configuración de:core.autocrlf

Por razones históricas, los archivos de texto windowsa continuación y a continuación tienen saltos de línea inconsistentes.linux

  • WindowsAl cambiar la línea, se utilizan tanto el retorno de carro CR(carriage-return character)como el salto de línea LF(linefeed character)
  • Y Macel Linuxsistema, solo usa el carácter de nueva líneaLF
  • Las versiones anteriores del Macsistema usaban el carácter de retorno de carroCR
ventanas linux/mac Mac antiguo (anterior a OSX)
CRLF LF RC
'\n\r' '\norte' '\r'

Por lo tanto, habrá problemas de incompatibilidad cuando los archivos de texto se creen y utilicen en diferentes sistemas.

LinuxEl código enviado en el entorno es el predeterminado en el almacén de mi proyecto y el archivo termina con LFel predeterminado (necesidades de ingeniería, estándares unificados).

Cuando uso un código windowsde computadora git clone, si es mío autocrlf(instalado windowsa continuación git, esta opción tiene como valor predeterminado true) true, entonces cada línea del archivo se convertirá automáticamente para CRLFterminar con , si no se realiza ninguna modificación en el archivo, se le indicará cuando pre-commitejecute .eslintCR

Ahora puede entender por qué ctrl+sy yarn run lint --fixel programa puede corregir eslintel error, ya que se convertirá Gitautomáticamente .CRLFLF

Mejores prácticas:

Ahora VScode, Notepad++el editor puede reconocer automáticamente si el salto de línea del archivo es LF o CRLF.

Si está utilizando windows, la codificación del archivo es UTF-8y contiene chino, es mejor configurarlo autocrlfglobalmente false.

git config --global core.autocrlf false

Nota: gitDespués de la configuración global, debe volver a extraer el código.

Resumir

Busqué mucha información, stackoverflowy githubhay discusiones y soluciones correspondientes a este problema en línea, pero ninguna de ellas puede tocar el alma. Escribe este artículo para leerlo en el futuro. Si es útil para los amigos que están en problemas, ¡el autor nunca se cansará de leerlo!

Supongo que te gusta

Origin blog.csdn.net/zqd_java/article/details/128634137
Recomendado
Clasificación