首先,我想说我知道我的标题不是描述我的问题的最佳方式,但同时我对这项技术没有清晰的了解,无法以更好的方式表达它。
一些信息
我正在开发一个相当大的开源项目,通过使用 webpack,您可以将整个东西捆绑在一个文件中。
该项目主要用打字稿编写。
建立起来
我有一个脚本,它以这种方式包含和导出类Dom()
:
export default class Dom {
//stuff
}
在不同的脚本中,我将此类作为$
导入,并通过$.functionName()
访问它,没有编译器错误。
import $ from './dom';
export default class SelectionUtils {
//stuff
}
问题所在
在整个项目编译并与 webpack 捆绑后,我部署它并看到类Dom
的实例以_dom.default.default
而不是_dom.default
的形式部署。这意味着我无法访问类函数。
对象结构:
_dom
|--default
| |--default: f Dom()
| |--__esModule: true
| |--_proto_: Object
|--_proto_: Object
欢迎任何关于为什么会发生这种情况的提示。
提前谢谢。
PS:我试图使这篇文章尽可能清晰,但同样,由于我不了解问题的本质,所以我真的很难表达它。
我通过在我想使用导入的类中创建一个变量来解决我的问题。
像这样:
export default class SelectionUtils {
public $ = require('./dom').default;
//stuff
}
我知道这可能不是最好的解决方案,但它目前有效。