#javascript #webpack
#javascript #webpack
Вопрос:
У меня есть конфигурация Webpack, которая разделяет мой код в моем проекте. То, что я пытаюсь сделать, это игнорировать фрагментацию и сгенерировать один файл, если это производственная сборка.
Это мой конфигурационный файл webpack: https://gist.github.com/alyn000r/5663c1036ab8e60695ba4db4e866df5f
Это мой index.js из-за чего происходит разбиение на части:
if (typeof require.ensure !== `function`) require.ensure = (d, c) => c(require); // mocha test runner polyfill
/**
* require.ensure allows asynchronous chunk loading of the component, which means an extra HTTP hop to download the component,
* in exchange of smaller initial download footprint.
* - Use require.ensure for components that are least frequently used
* - Use require.ensure for components that import libraries that are large in size
*/
export function lookup(componentName, callback) {
switch (componentName) {
// ============================== Components ===============================
case 'dD':
callback(require('./components/dD'));
break;
case 'eBL':
callback(require('./components/eBL'));
break;
case 'essay':
callback(require('./components/essay'));
break;
case 'hSM':
require.ensure([], require => callback(require('./components/hSM')));
break;
Это то, что он генерирует прямо сейчас:
Пожалуйста, помогите мне сгенерировать один файл, если (isProduction) имеет значение true
Я попытался удалить плагин CommonChunks и MinChunkSizePlugin, если это производство, но фрагменты все еще происходят. Я также пытался удалить
jsonpFunction: `jsonpFunction${jsonpPackageName}`,
chunkFilename: `${packageName}/${packageName}-[id].js`,
Но он все равно генерирует 0.0.js , 1.1.js , 2.2.js ….
Пожалуйста, скажите мне, чего мне не хватает. Спасибо
Ответ №1:
Вы можете отключить разделение кода, ограничив максимальное количество фрагментов до 1 с помощью LimitChunkCountPlugin
:
plugins: [
new webpack.optimize.LimitChunkCountPlugin({
maxChunks: 1
});
]
Комментарии:
1. Эй, это генерирует два файла cas-core-renderer.js и cas-core-renderer-0.js . Я попытался установить для него значение maxChunks: 0, но, по моему мнению, это отключает плагин, потому что он снова сгенерировал 5 файлов. Спасибо вам за вашу помощь!