Вопрос

На данный момент я немного разочарован потребностями.

Я пытаюсь загрузить jQuery и другие библиотеки в моем файле App.coffee. Проблема в том, что я не могу загрузить зависимости модуля в своем определении. Некоторые из входных аргументов (JQ, JSN и т. Д.) - это NULL или просто объекты HTMldocument. Это изменяется на основе перестановки плагинов, которые я пробую: «Заказ», «Domready» или «нет».

Мой справочник JS LIB выглядит как А). И мой файл app.coffee выглядит как b). Я пытался использовать «Пути» в require.config и просто необработанном файле (что вы видите ниже). Я знаю о интеграции requirejs-jquery. Но разве я не смогу Заказать загрузку моего плагина?

Я получаю другой набор ошибок, если я попробую с именем «Пути». Я вижу кого -то Предлагается jQuery 1.7 (также здесь) Это работает? Сначала я хотел сделать шаг назад и убедиться, что у меня есть концепции правильно. i) require.config ii) Определение модуля с зависимостями, iii) плагин заказа и т. Д.

Если у меня есть эти концепции правильно, я думаю, что это проблема версии jQuery. Тем не менее, это не только jQuery как зависимость. И невероятно утомительно терять время таким образом. Любая помощь ценится. Заранее спасибо.

А)

    $ tree js/lib/
    js/lib/
    ├── backbone.js
    ├── backbone_loader.js
    ├── domReady.js
    ├── jquery-1.6.3.js
    ├── json2.js
    ├── order.js
    ├── pure.js
    ├── require.js
    └── underscore.js

Б)

    require.config({
      baseUrl: "/js",
      paths:
        order : '/js/lib/order'
        jQuery : '/js/lib/jquery-1.6.3'
        json2 : '/js/lib/json2'
        Underscore : '/js/lib/underscore'
        Backbone : '/js/lib/backbone_loader'
        pure : '/js/lib/pure'
    })


    define( [ 'js/lib/order!js/lib/jquery-1.6.3',
              'js/lib/order!js/lib/json2',
              'js/lib/order!js/lib/underscore',
              'js/lib/order!js/lib/backbone',
              'js/lib/order!js/lib/pure',
              'js/lib/order!js/bkeeping/models', ]
      (jq, jsn, und, bbn, pur, models) ->

        console.log('bkeeping LOADED')

        # return an object with the models in it  
        models : models
        jQuery : jq.noConflict()
        json2 : jsn 
        Underscore : und.noConflict()
        Backbone : bbn.noConflict()
        pure : pure
    )

Это было полезно?

Решение 2

Спасибо за направление по этому поводу.

Но я пошел в jQuery-1.7, но все еще должен был вытащить из глобального пространства, чтобы получить объект. Это относится к моим другим либерациям на данный момент и их зависимости. То, что я закончил сделать, это возвращение объекта с зависимостью в нем. Я получил загрузку библиотеки с заказать плагин.

Контракт объектов зависимости, передаваемых вашей функции обратного вызова (JQ, PUR, JSN и т. Д.), Просто не работает для этих библиотек. Это работает для моих определенных модулей (пример: модели), но не на внешние либеральные либера. Я попробовал Используйте плагин, но обнаружил, что это не сработало для подчеркивания и магистрали, или я не настроил его должным образом. На данный момент это мое работоспособное решение; Хотя я должен сказать, что головные боли серьезно омрачают преимущества для требований.

    define( [ 'order!js/lib/jquery-1.7',
              'order!js/lib/pure',
              'order!js/lib/json2',
              'order!js/lib/underscore',
              'order!js/lib/backbone',
              'order!bkeeping/models', ]
      (jq, pur, jsn, und, bbn, models) ->

        console.log('bkeeping LOADED')

        # return an object with the dependencies in it 
        models : models
        jQuery : jQuery.noConflict()
        pure : pur                      # pure and json2 objects are simply used in other libs. I don't need them directly
        json2 : jsn 
        Underscore : _.noConflict()
        Backbone : Backbone.noConflict()
    )

Другие советы

Последний jQuery поддерживает AMD -погрузчики и будет вести себя хорошо с require.js. Подчеркивание и магистра

  1. Используйте модифицированную версию, например один от автора книги «Требование».
  2. Используйте плагин. Я нашел использование! плагин от здесь Чтобы соответствовать моим потребностям.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top