Webpack 4 - Что такое splitChunks эквивалентно minChunk: Infinity - PullRequest
0 голосов
/ 25 мая 2018

В веб-пакете 3 у нас была возможность иметь зависимость, и все ее зависимости группировались в «общий блок» с помощью:

    new webpack.optimize.CommonsChunkPlugin({
        name: 'common-init',
        minChunks: Infinity
    })

В Веб-пакете 4 вам нужно использоватьsplitChunks.Однако теперь все основано на minChunk и тесте, который не поддерживает «Бесконечность», и если вы хотите получить что-то «похожее» на вышеприведенное, вам теперь нужно использовать «тест», как показано ниже, так чтодругая «cacheGroup» не объединяет эти зависимости:

    cacheGroups: {
            'common-init' : {
                name: 'common-init',
                chunks: 'initial',
                minChunks: 2,
                enforce : true,
                priority : 10,
                test : /common|somedepInit.js|analyticsDep|otherDepInit/
            },
            'resources': {
                name: 'resources',
                chunks: 'initial',
                minChunks: 2,
                test: /resources/
            }
    }

Хотя это технически решение, которое я могу использовать, использование Infinity требовало гораздо меньше кода для принудительного применения определенных зависимостей, которые оказались в очень специфическом «общем блоке»".

Есть ли лучший способ добиться того же в Webpack 4?

1 Ответ

0 голосов
/ 25 июня 2018

Это сработало для меня:

           'common-init' : {
            name: 'common-init',
            chunks: 'initial',
            minChunks: 2,
            enforce : true,
            priority : 10,
            test: (module, chunks) => chunks.some(({ name }) => name === 'common-init')
        },
...