定义类型存储库导入如下:
import * as lunr from 'lunr';
然而,当像在Stacklitz中那样使用它时,它会出现以下错误:
lunr不是一个函数
想法?这是Stacklitz:
https://stackblitz.com/edit/typescript-lunr-test
明确类型使用的是较早版本的lunr,所以我尝试了另一个导入:import lunr from "lunr"
,它抛出一个错误,说posting[field]
是undefined
(源代码(。
然后我注意到Builder
中使用的"text"
字段在index
中没有初始化。在index
中添加this.field("text")
导致页面加载没有错误。
尝试使用:
import lunr from "lunr"
这种方式之所以有效,是因为lunr.js正在导出一个默认值,或者它用一个单数覆盖导出对象。看看本文的前4-5段:blog.tomist.com/typescript-imports