合并名称空间:不适用于模块定义

时间:2019-02-22 05:55:32

标签: typescript lunrjs

如果我合并两个本地定义的名称空间,它将起作用:

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();

为什么有区别?我该如何克服?

0 个答案:

没有答案