Как отключить разделение кода webpack 4?

Я использую веб-пакет 4.43.0.

Как предотвратить разделение кода в веб-пакете? Все эти файлы создаются - 0.bundle.js до 11.bundle.js (наряду с ожидаемым bundle.js), когда я запускаю webpack. Вот моя конфигурация веб-пакета:

/* eslint-env node */

const path = require('path');

module.exports = {
    entry: './media/js/src/main.jsx',
    mode: process.env.WEBPACK_SERVE ? 'development' : 'production',
    output: {
        path: path.resolve(__dirname, 'media/js'),
        filename: 'bundle.js'
    },
    resolve: {
        extensions: ['*', '.js', '.jsx']
    },
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                include: path.resolve(__dirname, 'media/js/src'),
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-env', '@babel/preset-react']
                    }
                }
            }
        ]
    }
};

person nnyby    schedule 27.05.2020    source источник
comment
попробуйте удалить '*' из расширений   -  person Antoni Silvestrovič    schedule 27.05.2020
comment
@AntoniSilvestrovič Спасибо за предложение, но это не решило проблему: paste.victor.computer/BkvcgXns8   -  person nnyby    schedule 27.05.2020
comment
Вы уверены, что не загружаете какую-то другую конфигурацию веб-пакета? Из того, что я вижу здесь, он не должен выполнять разделение кода. Если нет, я бы попробовал переустановить webpack.   -  person Antoni Silvestrovič    schedule 28.05.2020
comment
@AntoniSilvestrovič да, я почти уверен. Вот мой проект, если хотите посмотреть сами — смотрите package.json. github.com/ccnmtl/mediathread   -  person nnyby    schedule 28.05.2020
comment
@nnyby Это приложение React?   -  person Christos Lytras    schedule 29.05.2020
comment
@ChristosLytras да   -  person nnyby    schedule 29.05.2020
comment
@nnyby, используете ли вы динамический импорт (например, const Component = import('some/path')) и/ или React Suspense с React.lazy? Если вы используете какой-либо из них, то именно поэтому webpack генерирует эти файлы фрагментов.   -  person Christos Lytras    schedule 29.05.2020
comment
@nnyby webpack объединяет ваше приложение и выводит его пакеты на основе конфигурации по умолчанию, которая обычно соответствует лучшим практикам. Вы можете настроить его с помощью плагина SplitChunksPlugin. Итак, почему вы хотите заставить все в один пакет?   -  person Legends    schedule 03.06.2020


Ответы (2)


Вы можете использовать веб-пакет LimitChunkCountPlugin, чтобы ограничить количество фрагментов, создаваемых разделением кода. :

В вашем файле webpack.config.js:

const webpack = require('webpack');   

module.exports = {
  plugins: [
    new webpack.optimize.LimitChunkCountPlugin({
      maxChunks: 1
    })
  ],
  ...
};

Вы также можете передать параметр --optimize-max-chunks в команда webpack напрямую.

Итак, в вашем файле package.json:

{
  "scripts": {
    "build": "webpack --optimize-max-chunks 1",
    ...
  },
  ...
}

Теперь, когда вы запустите npm run build, webpack создаст только один файл (или "чанк").

person Himanshu    schedule 29.05.2020

person    schedule
comment
Для работы фреймворка Quasar нужно собрать один файл js. - person leontang; 06.04.2021