Jshint: JSHint arroja un error al incluirlo como un módulo requirejs

Creado en 21 ene. 2016  ·  5Comentarios  ·  Fuente: jshint/jshint

Hola,

Como parte de un POC que estoy desarrollando, he preparado una pequeña muestra que permitirá que mi aplicación angular funcione con requirejs. Ahora planeo integrar JsHint. El único requisito es que no haya nodejs.

Tomé el archivo js de la carpeta dist de la versión y lo cargué como un módulo requerido. Pero al hacerlo, aparece el siguiente error
jshint_error

Error de tipo no detectado: _.each no es una función

Todos los demás módulos que he cargado requieren están bien, como bootstrap y angular. Intenté incluir underscore.js y cargarlo antes de jshint, pero fue en vano.

¿Es esto un error con jshint o estoy haciendo algo mal? a continuación se muestra el código para mi bootstrapping requirejs

require.config ({
baseUrl: 'scripts',
caminos: {
'jshint': 'lib / jshint / jshint',
'angular': 'lib / angular / angular.min',
'ruta-angular': 'lib / angular / ruta-angular.min'

},
shim: {
    'app': {
        deps: ['jshint','angular', 'angular-route']
    },
    'angular-route': {
        deps: ['angular']
    }
}

});

exigir
(
[
'aplicación'
],
función (aplicación)
{
angular.bootstrap (documento, ['aplicación']);
}
);

Comentario más útil

De alguna manera, la presencia de requirejs (o quizás AMD en general) hace que la carga de lodash falle.
Funciona en v2.6.3, pero comienza a fallar en v2.7.0

Tengo una muestra que la muestra con v2.9.3 . El error de las herramientas para desarrolladores:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

A diferencia de,

¿Alguna idea?

Todos 5 comentarios

Esperaría que el subrayado no esté marcado como una dependencia de jshint. Además, jshint moderno está usando lodash, por lo que puede haber algunos problemas de compatibilidad con lodash, aunque lo dudo.

Solo escupir

Me he enfrentado al mismo problema ... ¿Alguna solución?

De alguna manera, la presencia de requirejs (o quizás AMD en general) hace que la carga de lodash falle.
Funciona en v2.6.3, pero comienza a fallar en v2.7.0

Tengo una muestra que la muestra con v2.9.3 . El error de las herramientas para desarrolladores:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

A diferencia de,

¿Alguna idea?

En SystemJS, debe especificar el formato como global (a diferencia de AMD o CommonJS) en meta según https://github.com/systemjs/systemjs/blob/master/docs/module-formats. md # globals

SystemJS.config({
    baseURL: './js',
    defaultJSExtensions: true,
    paths: {
        'jquery': './js/vendor/jquery/jquery-3.2.1.min.js',
        // ...
    },
    meta: {
        './js/vendor/codemirror/addon/lint/jshint.js': { format: 'global' }
    }
});
SystemJS.import('./js/app.js').then(function (app) {
    // ...
})

Tenga en cuenta que Webpack detecta automáticamente el formato.

Con suerte, esto ayudará con requireJS.

De alguna manera, la presencia de requirejs (o quizás AMD en general) hace que la carga de lodash falle.
Funciona en v2.6.3, pero comienza a fallar en v2.7.0

Tengo una muestra que la muestra con v2.9.3 . El error de las herramientas para desarrolladores:

VM104 jshint.js:15777 
Uncaught TypeError: _.each is not a function
  require.14.lodash @ VM104 jshint.js:15777
  s @ VM104 jshint.js:6
  (anonymous function) @ VM104 jshint.js:6
  ...

A diferencia de,

¿Alguna idea?

Después de 2.6.3 cambió de Underscore a Lodash.
Marque el 'var _ = require ("subrayado");' en 2.6.3 y 'var _ = require ("lodash");' en 2.12.10

¿Fue útil esta página
0 / 5 - 0 calificaciones