Названия чанков Webpack отличаются по своему развитию и производству - PullRequest
0 голосов
/ 17 февраля 2020

Я настроил веб-пакет для создания фрагментов для моего проекта. Что вызывает у меня некоторые проблемы, так это то, что при сборке для development первый блок называется 0.bundle.js, а при сборке для production первый блок называется 1.bundle.js.

Я буду sh, чтобы куски назывались одинаково, независимо от того, собираюсь ли я для разработка или производство . Если они начинаются с 0 или 1, не имеет значения. :)

Я подозреваю, что мой конфиг веб-пакета может быть виновником?

module.exports = () => {
  // Define environment
  const env = process.env.NODE_ENV
  const devMode = (env === 'development')

  ...

  const optimization = !devMode ? {
    minimize: true,
    minimizer: [
      new TerserPlugin({
        sourceMap: false,
        cache: true,
        parallel: true,
        terserOptions: {
          mangle: true,
          keep_classnames: false,
          keep_fnames: false,
          output: {
            comments: false
          }
        }
      }),
    ],
    splitChunks: {
      chunks: 'async',
      minSize: 30000,
      maxSize: 0,
      minChunks: 1,
      maxAsyncRequests: 6,
      maxInitialRequests: 4,
      automaticNameDelimiter: '~',
      automaticNameMaxLength: 30,
      cacheGroups: {
        defaultVendors: {
          test: /[\\/]node_modules[\\/]/,
          priority: -10
        },
        default: {
          minChunks: 2,
          priority: -20,
          reuseExistingChunk: true
        }
      }
    }
  }
  : 
  {}
}

...

// build WEBPACK CONFIG
const config = {}

config.output = {
  path: path.join(__dirname, 'public', 'dist'), //absolute path
  filename: '[name].bundle.js',
  chunkFilename: '[name].bundle.js'
}

return config

пакет. json

"build:dev": "webpack",
"build:prod": "cross-env NODE_ENV=production webpack -p --env production",

С уважением / K

...