39 votes

Comment utiliser jquery ui avec requirejs

Je souhaite utiliser la fonction addClass jQuery UI dans mon application.

A côté, j'utilise jQuery, le trait de soulignement, le backbone normal avec les requirejs.

J'ai configuré l'interface utilisateur jQuery comme ceci:

 require.config({

    deps: ["main"],

    paths: {
        "text": "lib/text"
        , "jquery": "lib/jquery"
        , "jquery-ui": "lib/jquery-ui"
        , "underscore": "lib/underscore"
        , "backbone": "lib/backbone"
        , "bootstrap": "lib/bootstrap"
        , "templates": "../templates"
    },

    shim: {
        "jquery-ui": {
            exports: "$",
            deps: ['jquery']
        },
        "underscore": {
            exports: "_"
        },
        "backbone": {
            exports: "Backbone",
            deps: ["underscore", "jquery"]
        },
        "bootstrap": ['jquery']
    }

});
 

Dans l'application je fais:

 define(['jquery', 'underscore', 'backbone'], function($, _, Backbone) {
    $('div').addClass('white');
});
 

Malheureusement, ceci ne concerne que les addClass normaux et non les animés de jQuery UI.

PS: J'utilise l'édition complète de jQuery.

34voto

Austin Points 3876

Vous devez inclure jquery-ui:

 define(['jquery-ui', 'backbone'], function() {
    $('div').addClass('white');
});
 

jquery devrait être requis automatiquement car il s'agit d'une dépendance de jquery-ui

En outre, aucun de ces scripts ne renvoie quoi que ce soit, mais leurs variables sont affectées à l'objet window. Pas besoin de les assigner.

6voto

FidEliO Points 410

Je sais qu'il existe déjà une réponse, mais j'ai trouvé dans ce tutoriel un bref résumé du problème et de la réponse: chargez l'interface utilisateur jQuery avec requireJS.

3voto

nickaknudson Points 1560

essayer

 define(['jquery', 'jquery-ui', 'underscore', 'backbone'], function($, ui, _, Backbone) {
    // $.ui should be defined, but do
    // $.ui = ui if its not
    $('div').addClass('white');
});
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X