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
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']);
}
);
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.0Tengo 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,
- muestra con JSHINT v2.6.3 funciona;
- muestra con v.2.7.0 comienza a fallar.
¿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
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:
A diferencia de,
¿Alguna idea?