labels description
typescript
utils
webpack
mutatore di configurazione webpack.

Un piccolo wrapper attorno all'oggetto config di webpack.Questo wrapper aiuta a modificare la configurazione di webpack in modo concatenato.In generale,è una sintassi di zucchero per eseguire operazioni comuni sulla configurazione,come aggiungere un plugin o una voce.Fornisce anche diverse opzioni,come append e prepend per gli array e override,ignore,throw (per i conflitti)per gli oggetti;

Puoi anche mutare la configurazione grezza stessa accedendo a mutator.raw .

import{WebpackConfigMutator}da './config-mutator';import JSONFormatter da 'json-formatter-js';

() => {
  const config = new WebpackConfigMutator({});
  class MyPlugin {
    apply(compiler) {}
  }

  const cssRule = {
    test: /\.css$/,
    exclude: /\.module\.css$/,
    use: ['style-loader', 'css-loader'],
  };

  config
    .addEntry('./entry1.js')
    .addEntry('./entry2.js', { position: 'prepend' })
    .addPlugin(new MyPlugin())
    .addAliases({ react: 'custom-react-path' })
    .addTopLevel('output', { publicPath: { publicPath: 'my-public-path' } })
    .addModuleRule(cssRule);

  const dataContent = new JSONFormatter(config.raw, 2);
  return (
    <div>
      <div
        ref={(nodeElement) => {
          nodeElement && nodeElement.replaceWith(dataContent.render());
        }}
      />
    </div>
  );
};