Минимизируйте, сохраняя имена функций с помощью webpack и babel

Я пытаюсь остановить минификацию, происходящую между babel и webpack, от переименования моих функций. Я наткнулся на это, но, видимо, у меня не настроены нужные параметры.

Вот мой конфигурационный файл webpack. Что мне нужно изменить, чтобы сохранить имена моих функций?

const path = require('path');
const MinifyPlugin = require('babel-minify-webpack-plugin');

module.exports = {
    entry: {
        translate: ["@babel/polyfill", "./Scripts/es6/translate.js"],
        setupForm: ["./Scripts/es6/setupForm.js"],
        prelimForm: ["./Scripts/es6/prelimForm.js"],
        recruiters: ["./Scripts/es6/recruiters.js"]
    },
    output: {
        filename: '[name].js',
        path: path.resolve(__dirname, './Scripts/build'),
    },
    plugins: [
        new MinifyPlugin({
            "keepFnName": true
        }, {})
    ],
    module: {
        rules: [{
            loader: 'babel-loader',
            test: /\.js$/,
            exclude: /node_modules/,
            query: {
                presets: ['@babel/preset-env']
            }
        }]
    }
}
Поиск всех неиспользуемых файлов в проекте
Поиск всех неиспользуемых файлов в проекте
Количество файлов в проекте растет по мере его развития. И если быть по-настоящему честным, их продвижение происходит в геометрической прогрессии...
Настройка шаблона Metronic с помощью Webpack и Gulp
Настройка шаблона Metronic с помощью Webpack и Gulp
Я пишу эту статью, чтобы поделиться тем, как настроить макет Metronic с помощью Sass, поскольку Metronic предоставляет так много документации, и они...
2
0
4 553
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это работа terser-webpack-плагин по минимизации html, вы можете перейти к ней keep_fnames: false.

module.exports = {
  optimization: {
    minimizer: [
      new TerserPlugin({
        terserOptions: {
          keep_fnames: false,
        },
      }),
    ],
  },
};

Вы можете попросить Babel убрать совместимость старого браузера с этой конфигурацией в вашем babel.config / babelrc:

presets: [
  ['@babel/preset-env', {targets: {browsers: ['> 2%']}}]
]

More informations about targets : https://babeljs.io/docs/en/babel-preset-env#targets

Dropped browser compatibilities : https://caniuse.com/#feat=mdn-javascript_builtins_function_name

Другие вопросы по теме