如何在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
}
})
]
},