Как отключить разбиение кода webpack 4? - PullRequest
6 голосов
/ 27 мая 2020

Я использую webpack 4.43.0.

Как предотвратить разделение кода в webpack? Все эти файлы создаются - от 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']
                    }
                }
            }
        ]
    }
};

Ответы [ 2 ]

9 голосов
/ 29 мая 2020

Вы можете использовать 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 создаст только один файл (или «кусок»).

0 голосов
/ 05 июня 2020

Эта проблема исчезла сама по себе! Понятия не имею, как это произошло. webpack работает загадочным образом и, вероятно, слишком сложен сам по себе.

...