Chargement de la colonne vertébrale et le trait de Soulignement à l'aide de RequireJS

Je suis en train de charger épine Dorsale et le trait de Soulignement (ainsi que jQuery) avec RequireJS. Avec les dernières versions de l'épine Dorsale et le trait de Soulignement, il semble un peu difficile. Pour l'un, trait de Soulignement s'enregistre automatiquement dans un module, mais épine Dorsale suppose trait de Soulignement est disponible dans le monde entier. Je tiens également à noter que la Dorsale ne semble pas s'inscrire en tant que module qui en fait une sorte d'incohérence avec les autres libs. C'est le meilleur main.js j'ai pu arriver que des œuvres:

require(
{
    paths: {
        'backbone': 'libs/backbone/backbone-require',
        'templates': '../templates'
    }
},
[
    //jQuery registers itself as a module.
    'http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7/jquery.min.js',

    //Underscore registers itself as a module.
    'http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.2.1/underscore-min.js'
], function() {

    //These nested require() calls are just due to how Backbone is built.  Underscore basically says if require()
    //is available then it will automatically register an "underscore" module, but it won't register underscore
    //as a global "_".  However, Backbone expects Underscore to be a global variable.  To make this work, we require
    //the Underscore module after it's been defined from within Underscore and set it as a global variable for
    //Backbone's sake.  Hopefully Backbone will soon be able to use the Underscore module directly instead of
    //assuming it's global.
    require(['underscore'], function(_) {
        window._ = _;
    });

    require([
        'order!http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.5.3/backbone-min.js',
        'order!app'
    ], function(a, app) {
        app.initialize();
    })
});

Je dois mentionner que, même si elle fonctionne, l'optimiseur étouffe sur elle. J'ai le message suivant:

Tracing dependencies for: main
js: "/home/httpd/aahardy/requirejs/r.js", line 7619: exception from uncaught JavaScript throw: Error: Error: Error evaluating module "undefined" at location "/home/httpd/aahardy/phoenix/trunk/ui/js/../../ui-build/js/underscore.js":
JavaException: java.io.FileNotFoundException: /home/httpd/aahardy/phoenix/trunk/ui/js/../../ui-build/js/underscore.js (No such file or directory)
fileName:/home/httpd/aahardy/phoenix/trunk/ui/js/../../ui-build/js/underscore.js
lineNumber: undefined
http://requirejs.org/docs/errors.html#defineerror
In module tree:
    main

Est-il une meilleure façon de gérer cela? Merci!

  • Avez-vous le faire à l'aide de tutoriel?
  • J'ai regardé à travers les différents tutoriels comme backbonetutorials.com/organizing-backbone-using-modules, mais ils semblent être devenus obsolètes avec les dernières versions de trait de soulignement et de la colonne vertébrale.
  • J'ai aussi trouvé requirejs difficile à utiliser avec d'autres bibliothèques et vice-versa. C'est pourquoi j'ai créé une bibliothèque qui est beaucoup plus facile à utiliser et mis à l'essai avec angulaire. Il y a une démo de l'application en bas: gngeorgiev.github.io/Modulerr.js Vous pouvez également combiner tous les scripts en un seul sans la dépendance à Modulerr.js
  • btw Synchrone Asynchrone de Définition de Module est un peu oxymore 🙂
  • Ha! Bon point. Édité.
InformationsquelleAutor Aaronius | 2011-11-15