#webpack #webpack-4 #webpack-splitchunks #splitchunksplugin
#веб-пакет #webpack-4 #webpack-splitchunks #splitchunksplugin
Вопрос:
с введением webpack 4 splitChunks.name
используется для определения имени разделенного фрагмента. здесь в документации говорится, что ключ может быть сопоставлен с функцией для пользовательского именования:
https://webpack.js.org/plugins/split-chunks-plugin/#splitchunksname
Он принимает параметры module
, chunks
, cacheGroupKey
. документации для этих параметров немного не хватает, но я могу использовать интуицию для некоторых. т. е. cacheGroupKey
Относится к ключам, определенным в splitChunks.cacheGroups
. я думаю chunks
, что это фрагменты, которые используют общий код, который является частью cacheGroupKey
фрагмента, но нигде нет официальных документов об этом.
итак, мой вопрос в том, есть ли у кого-нибудь какие-либо идеи о том, на что ссылаются эти три параметра?
Ответ №1:
Каждый параметр представляет собой объект, предоставляемый webpack, каждый с множеством параметров. Вот какую информацию я нашел полезной при решении этой проблемы:
chunks
представляет собой список фрагментарных объектов, каждый из которых обладает множеством свойств (наиболее полезными для именования являются chunk.name
и chunk.hash
). У каждого блока есть модули, у каждого модуля есть блоки и т. Д. SplitChunksPlugin сгенерирует эти списки блоков таким образом, чтобы оптимизировать производительность веб-сайта, поэтому, если вы не продвинутый пользователь, вам не придется беспокоиться о том, какие блоки с какими блоками.
Эта функция вернет желаемое имя фрагмента. Итак, вы можете использовать логику JavaScript chunk.name
и chunk.hash
значения and для создания строки JS, которой вы хотите, чтобы было ваше имя блока, и возвращать эту строку, которая будет задавать имя блока. Надеюсь, это поможет!