Вопрос:
Как отключить в Webpack переименование имен функций?
Я получил в своем коде это имя класса:
import { MenuBlocksMenuPage } from «../pages/menu/blocks/menupage»;
Но в скомпилированном файле строка становится нечитаемой строкой.
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__pages_menu_blocks_menupage__ = __webpack_require__(669);
Мой вопрос:
Какова опция в Webpack, которая может отключить изменение имени класса или функций?
Ответ №1
В настройках оптимизации установите значение свернуть в false:
https://webpack.js.org/configuration/optimization/#optimization-minimize
Ответ №2
Я сталкиваюсь с той же проблемой, TerserPlugin, на который указывает ссылка Эндрю Маки, решит проблему, но также является довольно тяжелым решением. Один из вариантов – изменить настройку оптимизации в веб-пакете. Удобный подход (не вдаваясь в огромные мысли) будет:
optimization: { minimize: true|false|»compress»|»preserve» }
“compress” удалит пробелы, но не помешает “preserve” минимизирует, но не искажает имена функций и классов
Вот конфигурация Terser для webpack.conf:
optimization: { minimize: true, minimizer: [ new TerserPlugin({ terserOptions: { keep_classnames: true, keep_fnames: true } }) ] },