如何在Webpack中禁用重命名功能名称?
我在代码中输入了类的名称:

import { MenuBlocksMenuPage } from "../pages/menu/blocks/menupage";

但是在已编译文件中,该行变为不可读的字符串。
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_73__pages_menu_blocks_menupage__ = __webpack_require__(669);

我的问题是:
Webpack中有哪些选项可以禁止更改类或函数名称?

最佳答案

我遇到了同样的问题,安德鲁·麦基(Andrew Mackie)的链接所指向的TerserPlugin将解决该问题,但这也是一个非常沉重的解决方案。一种选择是更改webpack中的优化设置的工作方式。一个方便的方法(无需考虑太多)将是:

optimization: {
  minimize: true|false|"compress"|"preserve"
}

“压缩”将删除空白但不会损坏
“保留”将最小化但不会破坏函数和类名
这是webpack.conf的Terser配置:
optimization: {
    minimize: true,
    minimizer: [
        new TerserPlugin({
            terserOptions: {
                keep_classnames: true,
                keep_fnames: true
            }
          })
        ]
  },

09-30 10:18