【发布时间】:2020-07-03 23:49:42
【问题描述】:
首先我想说我知道我的标题不是描述我的问题的最佳方式,但同时我对这项技术没有清晰的理解,无法用一种更好的方法。
一些信息
我正在开发一个相当大的开源项目,通过使用 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:我试图使这篇文章尽可能清晰,但由于我不了解问题的性质,我真的很难表达它。
【问题讨论】:
-
如果 typescript 正在生成该代码,这是一个严重的错误,但我怀疑情况是否如此。听起来您遇到了某种奇怪的加载程序问题。确保所有依赖项都是最新的
-
@AluanHaddad 问题是以前的构建还可以。然后我对代码进行了许多更改,但并没有真正弄乱结构本身。我刚刚将一个类导入到多个脚本中。我花了几个小时试图弄清楚这一点,但这对我来说毫无意义。我最终找到了解决方案,但我确信我可以做得更好。
标签: node.js typescript ecmascript-6 module editorjs