Интеграция Turbogears с Require JS

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

Код на данный момент

    <script type="text/javascript" data-main="${tg.url('/pv/demo.js')}" src="${tg.url('/pv/js/require.js')}"></script>

Итак, я знаю, что он находит требуемый файл JS с помощью команды $ (tg.url ()), но у меня возникают проблемы с вызовом других файлов JS в каталоге pv. Получение красного сообщения GET и сбой при загрузке ресурса в мою консоль.

Идея (ужасная)

Если я вызываю каждый скрипт в html-файле с помощью команды turgogears, это, честно говоря, займет некоторое время, поскольку существует около 20 файлов. Это тоже не выглядело бы таким чистым.

Вопрос

Есть ли способ запустить эту команду для всех файлов или заставить ее работать с require.js, отличным от того, что у меня было раньше?

ОБНОВЛЕНИЕ

Эй, так что в require js у нас есть команда

requirejs.config({
    'baseUrl': 'src',
});

Что хорошо сообщает странице html, что сначала нужно загрузить все файлы JS в файл src. Но если мне нужно запустить turbogears на HTML-странице, чтобы он мог получать файлы, как бы я это сделал? Я попытался скопировать и вставить команду

${tg.url('/pv/src')}

но это, черт возьми, не сработало. Какие-либо предложения ?


person Suliman Sharif    schedule 08.07.2016    source источник


Ответы (1)


tg.url просто возвращает строку URL-адреса, поэтому обычно нет разницы между записью /py/demo.js и ${tg.url('/pv/demo.js')}.

Что tg.url будет делать для вас, так это компенсировать SCRIPT_NAME в случае, если ваше приложение работает по подпутью, но при локальной разработке через gearbox или при развертывании в корне виртуального хоста вы не должны заметить никакой разницы в сгенерированных URL-адресах.

Можете ли вы лучше выразить вашу проблему? Мне кажется, что это может быть больше связано с requirejs, чем с самим turbogears, и вам может потребоваться установить requirejs baseUrl (см. http://requirejs.org/docs/api.html#config-baseUrl)

person amol    schedule 08.07.2016
comment
Я только что обнаружил, что это проблема с baseURL в requireJS, спасибо. Собираюсь обновить свою проблему! - person Suliman Sharif; 09.07.2016