小编aaa*_*ggg的帖子

如何在 TypeScript 中导入 JavaScript 模块并转换为 TypeScript 命名空间

我有一个 JS 文件,猴子将一些功能修补到 3rd 方包上:

import L from 'leaflet';
import 'leaflet.pm';
import 'leaflet-textpath';

...
// do monkeypatching with all 3 packages.
// Only leaflet and leaflet.pm have typedef packages.
...

export default L;
Run Code Online (Sandbox Code Playgroud)

L(传单)有一个@types包含所有类型的包。

export as namespace L;

...
// export all type defs
...
Run Code Online (Sandbox Code Playgroud)

此时我不想将monkeypatch JS文件转换为TS。我可以处理没有对monkeypatched 功能进行类型检查的情况。

鉴于此,我试图将其monkeypatch.js作为L命名空间导入,以便我至少可以将它与L类型一起使用。

我尝试了以下各种方法,但没有任何运气:

import MonkeyPatch from 'monkey-patch';

const TS = MonkeyPatch as L;
Run Code Online (Sandbox Code Playgroud)

由于无法将命名空间L用作类型,因此这不起作用。

如何将monkeypatch JS 文件作为L命名空间导入以便进行类型检查L

javascript monkeypatching leaflet typescript typescript-typings

5
推荐指数
0
解决办法
152
查看次数