Поддерживает ли Webpack DefinePlugin переменные или только константы?

Я пытаюсь передать массив в DefinePlugin. Этот массив объявлен глобально и заполняется другим плагином (метод СправочникДеревоПлуги, усиливать). Но отладчики браузера показывают, какой массив пуст.

Если я присваиваю массиву некоторые значения после того, как объявляю его, отладчик показывает эти значения. Кажется, что DefinePlugin вызывается раньше, чем DirectoryTreePlugin, но порядок плагинов в файле конфигурации Webpack - DirectoryTreePlugin, а затем DefinePlugin.

вы структурировали массив? Они выполняются по порядку, но результат вычисления из DirectoryTreePlugin должен занять больше времени, что в любом случае привело к применению следующего плагина. github.com/webpack/webpack/blob/master/lib/Compiler.js#L432

PlayMa256 11.07.2018 19:51

Да, я использую JSON. stringify ()

user1627760 12.07.2018 08:56

@MatheusSilva Я правильно вас понял? Плагины запускаются по порядку, но следующий запускается, не дожидаясь, пока предыдущий завершит свои вычисления. Если да, то можно ли синхронизировать плагины описанным способом?

user1627760 12.07.2018 12:14

«но следующий начинается, не дожидаясь, пока предыдущий закончит свои вычисления» - да. "Если да, можно ли описанным способом синхронизировать плагины?" - нет. См. Код, который я показал вам в предыдущем комментарии.

PlayMa256 12.07.2018 13:38
Поиск всех неиспользуемых файлов в проекте
Поиск всех неиспользуемых файлов в проекте
Количество файлов в проекте растет по мере его развития. И если быть по-настоящему честным, их продвижение происходит в геометрической прогрессии...
Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
1
4
305
1

Ответы 1

Короче говоря, да, DefinePlugin поддерживает как переменные, так и константы. Спасибо @MatheusSilva, указавшему мне на мое непонимание порядка выполнения плагина Webpack.

Свою задачу я решил следующим образом.

Для выполнения своей работы DirectoryTreePlugin использует библиотеку дерево каталогов. Поэтому я просто импортировал это в файле конфигурации Webpack, заполнил свой массив в обратном вызове dirTree и передал его (массив) в DefinePlugin.

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