Jshint: JSHint renvoie une erreur lors de son inclusion en tant que module requirejs

Créé le 21 janv. 2016  ·  5Commentaires  ·  Source: jshint/jshint

Salut,

Dans le cadre d'un POC que je développe, j'ai préparé un petit échantillon qui permettra à mon application angulaire de fonctionner avec requirejs. Maintenant, je prévois d'intégrer JsHint. La seule exigence est qu'il n'y ait pas de nodejs.

J'ai pris le fichier js du dossier dist de la version et l'ai chargé en tant que module requis. Mais en faisant cela, j'obtiens l'erreur suivante
jshint_error

Uncaught TypeError : _.each n'est pas une fonction

Tous les autres modules que j'ai chargés sont nécessaires, comme bootstrap et angular. J'ai essayé d'inclure underscore.js et de le charger avant jshint mais en vain.

Est-ce un bug avec jshint ou est-ce que je fais quelque chose de mal. ci-dessous est le code pour mon amorçage requirejs

exiger.config({
baseUrl : 'scripts',
chemins : {
'jshint':'lib/jshint/jshint',
'angular': 'lib/angular/angular.min',
'angular-route': 'lib/angular/angular-route.min'

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

});

exiger
(
[
'application'
],
fonction (application)
{
angular.bootstrap(document, ['app']);
}
);

Commentaire le plus utile

D'une manière ou d'une autre, la présence de requirejs (ou peut-être d'AMD en général) fait échouer le chargement de lodash.
Cela fonctionne dans la v2.6.3, mais il commence à échouer dans la v2.7.0

J'ai un exemple qui le montre avec la v2.9.3 . L'erreur des outils de développement :

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
  ...

En revanche,

Une idée?

Tous les 5 commentaires

Je m'attendrais à ce que le trait de soulignement ne soit pas marqué comme une dépendance de jshint. De plus, jshint moderne utilise lodash, il peut donc y avoir des problèmes de compatibilité avec lodash, bien que j'en doute.

Juste cracher

J'ai rencontré le même problème... Des solutions de contournement ?

D'une manière ou d'une autre, la présence de requirejs (ou peut-être d'AMD en général) fait échouer le chargement de lodash.
Cela fonctionne dans la v2.6.3, mais il commence à échouer dans la v2.7.0

J'ai un exemple qui le montre avec la v2.9.3 . L'erreur des outils de développement :

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
  ...

En revanche,

Une idée?

Dans SystemJS, vous devez spécifier le format en tant que global (par opposition à AMD ou CommonJS) dans la méta selon https://github.com/systemjs/systemjs/blob/master/docs/module-formats. md#globaux

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) {
    // ...
})

Notez que Webpack détecte automatiquement le format.

Espérons que cela aidera avec requireJS.

D'une manière ou d'une autre, la présence de requirejs (ou peut-être d'AMD en général) fait échouer le chargement de lodash.
Cela fonctionne dans la v2.6.3, mais il commence à échouer dans la v2.7.0

J'ai un exemple qui le montre avec la v2.9.3 . L'erreur des outils de développement :

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
  ...

En revanche,

Une idée?

Après la 2.6.3, il est passé de Underscore à Lodash.
Vérifiez le 'var _ = require("underscore");' dans 2.6.3 et 'var _ = require("lodash");' en 2.12.10

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

NemoStein picture NemoStein  ·  7Commentaires

derekdata picture derekdata  ·  11Commentaires

TheSavior picture TheSavior  ·  3Commentaires

nzakas picture nzakas  ·  10Commentaires

fbarda picture fbarda  ·  5Commentaires