Я пытаюсь остановить минификацию, происходящую между 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']
}
}]
}
}


Это работа 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#targetsDropped browser compatibilities : https://caniuse.com/#feat=mdn-javascript_builtins_function_name