我正在尝试为pouch-redux-middleware编写一个输入定义,它导出一个函数:
import PouchMiddleware from 'pouch-redux-middleware'
PouchMiddleware({...})
Run Code Online (Sandbox Code Playgroud)
这是我的打字定义:
interface PouchMiddleware {
(a: any): any;
}
declare var PouchMiddleware: PouchMiddleware;
declare module "pouch-redux-middleware" {
export = PouchMiddleware;
}
Run Code Online (Sandbox Code Playgroud)
这会导致错误:
模块'"pouch-redux-middleware"'没有默认导出.
申报这个的正确方法是什么?
为了转译为commonjs模块,您可能只需要将定义文件更改为:
declare function PouchMiddleware(a: any): any;
declare module "pouch-redux-middleware" {
export = PouchMiddleware;
}
Run Code Online (Sandbox Code Playgroud)
然后像这样导入它:
import PouchMiddleware = require("pouch-redux-middleware");
Run Code Online (Sandbox Code Playgroud)
虽然有点烂。可能会有更好的答案。
我相信我之前的答案仅适用于以ES6为目标并将模块设置为“ ES2015”:
您将需要进行编译
--allowSyntheticDefaultImports才能使其工作,然后将定义文件中的接口更改为函数:Run Code Online (Sandbox Code Playgroud)declare function PouchMiddleware(a: any): any; declare module "pouch-redux-middleware" { export = PouchMiddleware; }react库也会发生类似的情况。在这里阅读更多...
| 归档时间: |
|
| 查看次数: |
2356 次 |
| 最近记录: |