Относительные пути с модулями / пакетами RequireJS

Я новичок в RequireJS и столкнулся с небольшой проблемой. Я написал небольшой фреймворк, построенный на Backbone с использованием RequireJS, и хочу, чтобы его можно было повторно использовать в разных проектах. Итак, немного поискав, я узнал, что require allow packages. Это было похоже на то, что я искал. У меня есть файл main.js для запуска моего приложения, который, по сути, выглядит так:

require.config({
  packages: ['framework']
});

require(['framework'], function(framework) {
  framework.createDash();
});

Затем в том же каталоге, что и мой main.js, у меня есть еще один каталог под названием «framework», который содержит еще один main.js, который выглядит следующим образом:

define(function(require, exports, module) {
  exports.createDash = function(dash, element) {
    require(['dash/dash.model', 'dash/dash.view'], function(DashModel, DashView) {
      return new DashView({
        model: new DashModel(dash),
        el: element ? element : window
      });
    });
  };
});

При поиске я нашел эту страницу , которая указывает, что аргумент 'require' должен быть привязан к подмодулю. Однако, когда я пытаюсь потребовать вещи, они по-прежнему относятся к моему исходному main.js. Я пробовал много вещей и искал часы безрезультатно. Можно ли каким-либо образом включить вызовы require / define в моем пакете относительно main.js в его корне?

28
задан Justin Warkentin 15 February 2012 в 22:11
поделиться