Я работаю с очень большой базой модулей JS (для интерфейсного кода), в которой используются определения стиля AMD. Они, как правило, выглядят следующим образом:Лучший способ заставить Webpack управлять Quirky AMD Определяет
define('TwitterModule', [
'vendor/jquery/jquery',
'vendor/moment/moment',
'vendor/jquery/jquery.ie.cors'
], function ($, moment) {
...
Проблема заключается в том, что объявления зависимостей фактически не представляют, где эта зависимость. Они будут выглядеть примерно так без разрешения каталога магии:
define('TwitterModule', [
__dirname + '/vendor/jquery/content/scripts/jquery',
__dirname + '/vendor/moment/content/scripts/moment',
__dirname + '/vendor/jquery/content/scripts/jquery.ie.cors'
], function ($, moment) {
...
Так что я пытаюсь выяснить чистый способ решения этих проблем каталогов. А именно, определите корневой путь, а также добавьте часть «/ content/scripts» в пути, которые получает веб-пакет. Webpack Resolve и Webpack Shims выглядят так, как будто они могут решить эту проблему, но я ищу отзывы от тех, у кого есть опыт в решении странных определений AMD, чтобы сосредоточить внимание на наилучшем возможном решении.
У меня пока нет много опыта работы с webpack, но да, я мог бы решить проблему с корневым путём с помощью конфигурации разрешения. Часть, которая немного более проблематична, заключается в том, что мне нужна логика для записи, чтобы управлять тем, куда вводится часть контента/скриптов. Мне нужно обработать регулярное выражение на этом исходном пути для ввода этих каталогов. – bstar
Btw: Это не странный афаик в стиле AMD. С requirejs вы обычно называете «vendor» и такие папки (это называется прокладками с requirejs). –
Настройка корневого каталога для поставщика - это не странная часть ... странная часть заключается в том, что оператор define вставляет содержимое/скрипты между именем пакета и фактическим файлом сценария. Но я согласен, я думаю, мне нужно создать прокладку для этого. – bstar