/ / requirejs 2.1.11 + jquery mobile 1.4.2 Fehler werfen - jquery-mobile, requirejs

requirejs 2.1.11 + jquery mobile 1.4.2 Wurffehler - jquery-mobile, requirejs

Es scheint, dass requireJS nicht richtig mit jquery mobile 1.4.2 funktioniert

In der app.js habe ich die Minimalkonfiguration für RequireJS 2.1.11

requirejs.config({
"baseUrl": "js",
"paths": {
"jquery": "lib/jquery-1.10.2",
"jquerymobile": "lib/jquery_mobile/jquery.mobile-1.4.2"
}
});

Und wenn ich versuche, jquerymobile Abhängigkeit zu verwenden, habe ich:

define(["require", "jquery", "jquerymobile" ], function (require, $) {
console.log(success)
})

Dies zeigt einen Fehler in der Chrome-Konsole

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:63342/app/www/js/demos/js/jquery.js
Uncaught Error: Script error for: demos/js/jquery
http://requirejs.org/docs/errors.html#scripterror require.js:141

Dies wird durch den mobilen jQuery-Code verursacht:

(function ( root, doc, factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define( [ "demos/js/jquery" ], function ( $ ) {
factory( $, root, doc );
return $.mobile;
});
} else {
// Browser globals
factory( root.jQuery, root, doc );
}
}

Wenn ich mit jquery mobile 1.3.2 wechsle, scheint es, dass JS korrekt funktioniert. Gibt es eine Möglichkeit, requireJS mit Jquery Mobile 1.4.2 zu verwenden?

Antworten:

0 für die Antwort № 1

Sie verwenden nicht die richtige Quelle. Wenn ich direkt zum offizielle Quelle, Aha:

(function ( root, doc, factory ) {
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define( [ "jquery" ], function ( $ ) {
factory( $, root, doc );
return $.mobile;
});
} else {

Das ist genau das, was ich erwarten würde: jQuery Mobile hängt davon ab jquery, so wie Sie jQuery immer mit RequireJS benötigen sollten.

Das demos/js/jquery Abhängigkeit, die Sie in dem Code sehen, den Sie in Ihrer Frage zeigen, macht wenig Sinn. Es wäre möglich damit es funktioniert, aber es würde jeden erfordern, der jQuery Mobile benutzt, um einen unnötigen Konfigurationsrahmen durchzulaufen. Das ist eine große rote Flagge, dass etwas nicht stimmt.