2016-10-03 3 views
3

Есть ли способ ленивой загрузки DLL в webpack?Lazy загруженные DLL

Я смотрел на следующем примере: https://gist.github.com/robertknight/058a194f45e77ff95fcd

Пример выделяется пучок как DLL, но включает его через тег сценария.

Есть ли способ сказать Webpack условно включить DLL из другого пакета?

Идея состоит в том, чтобы использовать ее как ленивую технику загрузки, когда пакет загружен только в том случае, если какое-то конкретное условие выполнения пользователя истинно.

Для контекста я делаю это в угловом 2

ответ

1

Вы, вероятно, хотите использовать code splitting, а не DLL плагина - Я думаю, что DLL плагин родился из необходимости оптимизации компиляции раз больше, чем что-либо.

Разделение кода разбивает ваш комплект на несколько кусков, которые будут автоматически загружаться только при необходимости.

ПРИМЕЧАНИЕ: Webpack 1 использует require.ensure и Webpack 2 использует System.import для определения 'точки разделения'.

+1

Это правда, но причина для ленивой загрузки DLL-пакета заключается в том, что он прекомпилирует этот пакет, поэтому вам не нужно перестраивать его каждый раз, когда вы создаете приложение. Например, если вы хотите использовать ленивую загрузку большой библиотеки, такой как 'Kendo UI', тогда' require.ensure' отлично подходит для ленивой загрузки, но webpack должен перестраивать ее каждый раз, теряя преимущества пакетов DLL. – TetraDev

+0

@TetraDev вы используете Webpack в режиме просмотра, поскольку я обнаружил, что инкрементные сборки будут очень быстрыми даже со многими сторонними библиотеками? – riscarrott

+0

Да Вы правы, я использую режим просмотра webpack для инкрементных сборок, он намного быстрее. Я просто имел в виду начальное время сборки, у меня около 35 с, примерно 5 секунд. – TetraDev

 Смежные вопросы

  • Нет связанных вопросов^_^