为了账号安全,请及时绑定邮箱和手机立即绑定

动态创建类的实例,无需预加载类

动态创建类的实例,无需预加载类

慕侠2389804 2023-10-14 15:54:23
是否可以创建动态类而不预加载它?我想避免预加载该类,因为我是动态导入它的。下面是一个代码示例,说明了我想要实现的目标:  import(namespace).then((DynamicClass) => {    var classInstance = new DynamicClass();  }目前的结果是:(节点:962)UnhandledPromiseRejectionWarning:TypeError:dynamicClass不是构造函数当我 console.log DynamicClass 时,它显示:{ default: [Function: DynamicClass] }该类的定义如下:命名空间/index.jsclass DynamicClass extends BaseClass {   //...}module.exports = DynamicClass;
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

看来您的问题与对模块的误解和较少使用的动态导入语法有关。你不是在导入一个类,而是在导入一个 ES 模块。您可以使用导入的模块,根据您所需的值是否是默认导出,使用相关调用来访问模块的导出值。


如果您的模块默认导出一个类,例如


export default class Class(){...}

您可以使用模块上可用的 default() 函数来初始化类定义。


const module = await import("module-name")

const obj = new module.default();


查看完整回答
反对 回复 2023-10-14
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信