0

首先我想说我知道我的标题不是描述我的问题的最佳方式,但同时我对这项技术没有清晰的理解,无法以更好的方式表达它。

一些信息

我正在开发一个相当大的开源项目,通过使用 webpack,您可以将整个东西捆绑在一个文件中。

该项目主要是用 Typescript 编写的。

积聚

我有一个以这种方式包含和导出类的脚本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:我试图让这篇文章尽可能的清楚,但同样,由于我不明白问题的本质,我很难表达出来。

4

1 回答 1

0

我通过在要使用导入的类中创建一个变量来解决我的问题。

像这样的东西:

export default class SelectionUtils {
    
    public $ = require('./dom').default;
    //stuff
}

我知道这可能不是最好的解决方案,但它现在有效。

于 2020-07-03T15:30:36.093 回答