运行时导入的npm包js-linq模块为undefined问题排查
js-linq运行时提示
Linq is undefined的问题解决 问题原因
你使用的js-linq包采用默认导出而非命名导出,当前用的import { Linq } from 'js-linq'是解构命名导出的语法,无法正确获取包的核心对象,导致运行时出现Linq is undefined的错误。
解决步骤
- 改用默认导入语法替换原导入代码:
import Linq from 'js-linq' - 若习惯解构写法,也可通过别名导入默认导出:
import { default as Linq } from 'js-linq'
修改后执行const items = Linq.from([1, 2, 3, 4, 5])即可正常调用方法。
补充说明
项目无TypeScript错误,大概率是该包的类型定义未准确标注导出类型,或是你的TS配置宽松度较高,允许该语法编译通过,但运行时ES模块机制会严格区分默认导出与命名导出,因此出现运行时错误。
内容的提问来源于stack exchange,提问作者Joshua Frank
相关产品推荐
相关产品推荐

