web-dev-qa-db-fra.com

Webpack Exclure un fichier spécifique

J'ai ce code dans mon webpack.config.prod.js et je me demandais comment exclure tout json sauf un dans un chemin spécifique comme 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]',
}

...
14
user7768004

Selon la documentation Webpack , vous pouvez faire quelque chose comme ça.

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

Pour faire fonctionner l'exclusion, j'ai dû échapper au point dans le fichier spécifique que je voulais exclure. Voici un exemple d'exclusion de favicon.ico d'une règle générale et de l'ajout d'une règle spéciale:

  {
    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]',
    },
  },
6
Hamund