Webpack TerserPlugin - исключить модуль узла - PullRequest
0 голосов
/ 12 июня 2019

Используя пользовательский Angular Builder, я пытаюсь исключить весь модуль из минификации / оптимизации.

В файле Webpack .md указано

exclude
Тип: String | RegExp | Array По умолчанию: undefined

Файлы для исключения.

Можно ли использовать этот параметр для исключения всего каталога (который является модулем узла))?


Текущий код:

export default class CustomizeTerserBrowserBuilder extends BrowserBuilder {
  public buildWebpackConfig(root: any, projectRoot: any, host: any, options: any): any {
    const webpackConfig = super.buildWebpackConfig(root, projectRoot, host, options);

    if (
      webpackConfig.optimization &&
      webpackConfig.optimization.minimizer &&
      Array.isArray(webpackConfig.optimization.minimizer)
    ) {
      const terserPlugin = (webpackConfig.optimization.minimizer as any[]).find(
        minimizer => minimizer instanceof TerserPlugin
      );

      if (terserPlugin) {
        terserPlugin.options.exclude = [/node_modules/];
      }
    }

    return webpackConfig;
  }
}

1 Ответ

1 голос
/ 12 июня 2019

Может быть, вы ищете это

   module.exports = {
      optimization: {
        minimizer: [
          new TerserPlugin({
            exclude: /node_modules/,
          }),
        ],
      },
    };
...