Webpack исключает определенный файл

у меня есть этот код в моем webpack.config.prod.js и мне было интересно, как исключить все json, кроме одного в определенном пути, таком как src/configs/configs

exclude: [
  /.html$/,
  /.(js|jsx)$/,
  /.css$/,
  /.json$/,
  /.bmp$/,
  /.gif$/,
  /.jpe?g$/,
  /.png$/,
],
loader: require.resolve('file-loader'),
options: {
  name: 'static/media/[name].[hash:8].[ext]',
}

...

2 ответов


по словам документация Webpack, вы можете сделать что-то подобное.

exclude: {
  test: [
    /\.html$/,
    /\.(js|jsx)$/,
    /\.css$/,
    /\.json$/,
    /\.bmp$/,
    /\.gif$/,
    /\.jpe?g$/,
    /\.png$/,
  ],
  exclude: [
    'src/configs/configs/your.json'
  ]
}

чтобы исключить работу, мне пришлось избежать точки в конкретном файле, который я хотел исключить. Вот пример исключения favicon.ico из общего правила и добавление к нему специального правила:

  {
    test: /\.(ico|jpg|png|gif|eot|otf|webp|svg|ttf|woff|woff2)(\?.*)?$/,
    exclude: /favicon\.ico$/,
    loader: 'file-loader',
    options: {
      name: 'static/media/[name].[hash:8].[ext]',
    },
  },
  // A special rule for favicon.ico to place it into build root directory.
  {
    test: /favicon\.ico$/,
    loader: 'file-loader',
    options: {
      name: '[name].[ext]?[hash:8]',
    },
  },