Variables globales en Javascript y ESLint

100

Tengo varios archivos javascript y he definido alguna variable global en un archivo que se carga antes que los demás. Como consecuencia, todos los archivos cargados después del primero tienen acceso a la variable global. Sin embargo, ESLint muestra la variable global como "no definida". No quiero cambiar las reglas de ESLint y me gustaría encontrar una forma elegante de deshacerme de estos mensajes de error. ¿Cualquier pista? Gracias

marco_sap
fuente
4
-> eslint.org/docs/user-guide/configuring#specifying-globals . La documentación de ESLint es excelente en mi opinión, deberías echarle un vistazo.
Felix Kling

Respuestas:

114

No creo que hackear las reglas de ESLint por archivo sea una gran idea.

Más bien debería definir globalsen .eslintrco package.json.

Para .eslintrc:

"globals": {
    "angular": true
}

Para package.json:

"eslintConfig": {
    "globals": {
        "angular": true
    }
}

PD

Leer documentación es una virtud obligatoria para los desarrolladores

https://eslint.org/docs/user-guide/configuring#specifying-globals

v-andrew
fuente
7
Vale la pena señalar que establece la variable global en truesi puede asignar la variable a otra cosa y falsesi no debe reasignarse.
RedSparr0w
6
Vincular la documentación es una virtud que se aprecia mucho en las respuestas de stackoverflow.
Romain G
@RomainG ya hay un enlace a continuación;) Pero agregaré uno para usted
v-andrew
87

Puede agregar globales por archivo o en su configuración. Si no desea cambiar su configuración, tendrá que agregar los globales usados ​​en cada archivo.

Para especificar globales usando un comentario dentro de su archivo JavaScript, use el siguiente formato:

/* global var1, var2 */

Esto define dos variables globales var1y var2. Si desea especificar opcionalmente que estas variables globales nunca deben escribirse (solo leer), puede configurar cada una con una bandera falsa:

/* global var1:false, var2:false */

http://eslint.org/docs/2.0.0/user-guide/configuring#specifying-globals

DarkLegend
fuente