javascript - script - Cómo decirle a JSHint que busque definiciones en otro archivo JS
llamar javascript desde html (2)
Tu objetivo no es alcanzable. JSHint buscará la configuración en su .jshintrc o en su caso su Gruntfile. Las únicas otras modificaciones que puede hacer son localmente en el archivo individual.
Si confía en variables globales, debe desactivar esa configuración, anular para especificar cada una de las variables en su configuración o cada archivo, o ponerlos todos en un espacio de nombre.
Recomiendo cambiar a un patrón de módulo y no permitir que nada se filtre en el ámbito global
Aquí está el problema: estoy usando JSHint en Grunt. Tengo un par de archivos JS y se fusionarán en un solo archivo al final. Pero antes de fusionarme, me gustaría ejecutar JSHint. Sin embargo, JSHint reclama algunas variables indefinidas. Aquí hay un ejemplo: 1. JavaScript / file_one.js define una variable: var Foo = (function () {} ()); 2. JavaScript / file_two.js usa ese módulo. nuevo Foo ().
jshint: {
files: [''Gruntfile.js'',
''javascript/**/*.js'',
],
options: {
// some options.
}
}
JSHint quejas de que Foo no está definido en file_two.js.
Estos son mis objetivos (si es posible): 1. Quiero tener códigos en archivos separados. Por lo tanto, es posible que alguna variable esté definida en un archivo diferente. 2. Quiero que JSHint compruebe los archivos JS de origen. No quiero fusionar todos los archivos JS a uno y tener JSHint para verificar el fusionado. 3. JSHint puede verificar todos los archivos en <% = jshint.files%> (javascript / ** / *. Js, por ejemplo) y buscar la definición.
Sé que hay una solución para poner a Foo como un global en opciones, como en esta publicación Cómo decirle a JSLint / JSHint qué variables globales ya están definidas . Pero no quiero poner la variable que definí allí, ya que cada variable está en mis archivos fuente.
Entonces mi pregunta es si hay una manera de lograr mi objetivo 3 para decirle a JSHint que busque la definición en otros archivos.
Tendrás que decirle a JSHint en file_two.js sobre los globales que usa
/* global Foo, Bar */
para file_one.js, recibirá un mensaje que dice que Foo está definido pero no se usa. Entonces debes decirle a JSHint que otros archivos harán uso de él
/* exported Foo */