Я пытаюсь передать массив в DefinePlugin. Этот массив объявлен глобально и заполняется другим плагином (метод СправочникДеревоПлуги, усиливать). Но отладчики браузера показывают, какой массив пуст.
Если я присваиваю массиву некоторые значения после того, как объявляю его, отладчик показывает эти значения. Кажется, что DefinePlugin вызывается раньше, чем DirectoryTreePlugin, но порядок плагинов в файле конфигурации Webpack - DirectoryTreePlugin, а затем DefinePlugin.
Да, я использую JSON. stringify ()
@MatheusSilva Я правильно вас понял? Плагины запускаются по порядку, но следующий запускается, не дожидаясь, пока предыдущий завершит свои вычисления. Если да, то можно ли синхронизировать плагины описанным способом?
«но следующий начинается, не дожидаясь, пока предыдущий закончит свои вычисления» - да. "Если да, можно ли описанным способом синхронизировать плагины?" - нет. См. Код, который я показал вам в предыдущем комментарии.
Короче говоря, да, DefinePlugin поддерживает как переменные, так и константы. Спасибо @MatheusSilva, указавшему мне на мое непонимание порядка выполнения плагина Webpack.
Свою задачу я решил следующим образом.
Для выполнения своей работы DirectoryTreePlugin использует библиотеку дерево каталогов. Поэтому я просто импортировал это в файле конфигурации Webpack, заполнил свой массив в обратном вызове dirTree и передал его (массив) в DefinePlugin.
вы структурировали массив? Они выполняются по порядку, но результат вычисления из DirectoryTreePlugin должен занять больше времени, что в любом случае привело к применению следующего плагина. github.com/webpack/webpack/blob/master/lib/Compiler.js#L432