问题描述
我正在尝试在对象方法中使用静态模块导入,如下所示:
const HomePage = loadingLib(
{
requireSync() {
const id = this.resolve();
if (typeof __webpack_require__ !== "undefined") {
const module = __webpack_require__(id); // Here
return module;
}
},resolve() {
if (!options.dynamic) {
return require.resolve("./pages/Home");
} else {
return require.resolveWeak("./pages/Home"); // And here
}
},},);
在结果包中,我得到以下代码:
var HomePage = loadingLib({
requireSync: function () {
var id = this.resolve();
if (true) {
var module = __webpack_require__(id);
return module;
}
},resolve: function () {
if (true) {
return /*require.resolve*/(813);
}
else {}
}
});
我的模块 ("./pages/Home"
) 确实包含在包中,但导出已被删除并且模块的名称尚未转换。我是因为摇树而发生的(评论:/* unused harmony export default */
):
{
813:
/***/ ((__unused_webpack_module,__webpack_exports__,__webpack_require__) => {
"use strict";
/* unused harmony export default */
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(294);
/* harmony import */ var _components_Title__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(713);
function Home() {
return (React.createElement("div",null,React.createElement(Title,"\u0413\u043B\u0430\u0432\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430 \u0441\u0430\u0439\u0442\u0430!")));
}
/***/ }),}
如何导入我的模块,以便 webpack 不会减少导出?我可以使用 usedExports: false
使 webpack 包含所有导出,但我认为这个解决方案很差。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)