2017-01-18 2 views
1

Итак, я работаю над правильным расщеплением нашего JS в связке асинхронно загруженных кусков.Разбиение кода Webpack 2 с помощью System.import: Зависимости зависимостей

Я использую import в нескольких точках входа, и что прекрасно работает:

module.exports = Promise.all([ 
    import('moment'), 
    import('some-other-module') 
]).then((deps) => { 
    let [moment, someOtherModule] = deps; 
} 

И в другом месте:

module.exports = Promise.all([ 
    import('moment'), 
]).then((deps) => { 
    let [moment] = deps; 
} 

Webpack успешно создает отдельные куски для moment и some-other-module и загружает файлы асинхр при необходимости.

Однако:

some-other-module на самом деле требует moment, а также, что делает Webpack включают moment также в some-other-module «s кусок, что приводит к дублированию.

Является ли это ожидаемым поведением? И если да, то каково рекомендуемое решение?

ответ

0

я добавил следующую строку кода в моем плагинами разделе webpack.config, отделяющую зависимости и загружает их по мере необходимости параллельно

new webpack.optimize.CommonsChunkPlugin({ 
    async: true 
}) 

вы можете увидеть описание CommonsChunkPlugin асинхронном на этой странице https://webpack.js.org/plugins/commons-chunk-plugin/

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