validador script eslinter jslint

script - Cómo rectificar "El documento se usó antes de que se definiera" utilizando Jslint



jsonlint (5)

Me sale el siguiente error en jsLint :

Se utilizó ''documento'' antes de que se definiera.

Línea que causa el error:

document.cookie = name + "=" + value + expires + "; path=/";

Entiendo por qué sucede esto, pero me gustaría que mi código sea compatible.

¿Cómo resuelvo esto?

Gracias.


Desde el sitio web de jslint, puede leer sobre una directiva / global / que le permite establecer variables que se supone que se declararán en otro lugar.

Aquí hay un ejemplo (ponga esto en la parte superior del archivo):

//*global var1,var2,var3,var4,var5/*/

o, en el caso de starjava:

//*global document/*/

No estoy realmente seguro si se necesita el :true o :false , pero parece que se recomienda por lo que leo en el sitio. http://www.jslint.com/lint.html

Asegúrese de que la declaración global inicial esté en la misma línea que ''//*'' , o de lo contrario se romperá.


En modo cli puedes usar el archivo de configuración:
jslint.conf

{ "predef": [ "module", "require", "window", "document", "jQuery", "Backbone", "Marionette", "Modernizr", "_", "setTimeout", "clearTimeout", "setInterval", "clearInterval" ], "evil":false, "indent":4, "vars":true, "passfail":false, "plusplus":false }

Y use jslint con el parámetro --config jslint.conf .


Lugar

/*jslint browser:true */

En el comienzo del cuerpo de tu función. O, alternativamente, puedes usar

/*global document: false */

JSLint es para la comprobación de cualquier código javascript, y el objeto global del document no existe en todas partes, por lo que debe decirle manualmente a JSLint que su código está destinado a ejecutarse en el navegador y, por lo tanto, se define la variable global del document . Por ejemplo, para javascript del lado del servidor se espera que JSLint informe sobre este error.



Si se supone que todo su código JS debe ejecutarse desde el navegador, solo agregue la --browser .

jslint --browser my.js