如果我合并两个本地定义的名称空间,它将起作用:
declare namespace ex {
function a(): void
}
declare namespace ex {
function b(): void
}
ex.a()
ex.b()
但是,如果一个定义来自执行node_modules/lunr/index.d.ts
的模块(export as namespace lunr;
),则会抱怨error TS2440: Import declaration conflicts with local declaration of 'lunr'.
要重现安装模块lunr,然后:
import lunr from "lunr";
declare namespace lunr {
function mytest(): void;
}
lunr.mytest();
为什么有区别?我该如何克服?