k12th
@k12th
console.log(`You're pulling my leg, right?`);

Почему не срабатывают именованные модули RequireJS?

Пишу именованный модуль, вот так:
define(
    'agent/app',
    [
        'agent/Router'
    ],
    function(Router) {
        console.log('app');
        new Router();
    }
);


Конфиг вот такой:
{
    urlArgs: 'bust=' +  (new Date()).getTime(),

    baseUrl: '/site_static/js',
    paths: {
        underscore: 'libs/underscore',
        backbone: 'libs/backbone',
        jquery: 'libs/jquery'
    },
    shim: {
        underscore: {exports: '_'},
        backbone: {exports: 'Backbone'},
        jquery: {exports: '$'}
    }
};


При этом, если закомментить имя модуля, то все отлично работает.
  • Вопрос задан
  • 3506 просмотров
Пригласить эксперта
Ответы на вопрос 1
nur
@nur
В документации сказано что лучше не использовать именованные модули.
It is normally best to avoid coding in a name for the module and just let the optimization tool burn in the module names.

У себя в проекте мы модули мапим через конфиг, за одно получаем убоное управление DI
paths: {
        underscore: 'libs/underscore',
        backbone: 'libs/backbone',
        jquery: 'libs/jquery',

        app : 'agent/app',
        router : 'app/router'
    },


и где нужно
require('app');
require('router');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы