You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ngx-sortable时单元测试报错:sortablejs_1.MultiDrag不是构造函数

错误原因分析:TypeError: sortablejs_1.MultiDrag is not a constructor

这个错误的核心是单元测试环境未正确加载或初始化Sortable的MultiDrag插件,组件运行正常但测试报错的差异点在于:

  • 开发/生产环境中,你通过Sortable.mount(new MultiDrag(), new Swap())手动挂载了插件,代码执行路径完整加载了插件模块;
  • 单元测试环境仅导入SortablejsModule不足以自动初始化这类第三方扩展插件,测试框架(Jasmine/Karma)没有加载MultiDrag、Swap的代码,或未让它们在Sortable实例上生效。

具体可能的触发场景:

  • 测试文件未显式导入MultiDrag和Swap插件,导致测试环境中这些构造函数不存在;
  • SortablejsModule在测试模块中的导入未配置插件,默认模块导入不会自动挂载MultiDrag/Swap这类扩展插件;
  • 依赖加载顺序问题:测试环境中Sortable核心库先加载,但插件模块未被打包进测试bundle;
  • 版本兼容问题:ngx-sortable与sortablejs版本不匹配,导致插件导出方式和预期不符(比如插件从默认导出变为命名导出,测试环境无法正确解构)。

内容的提问来源于stack exchange,提问作者inteGral

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 23:15:52