【发布时间】:2018-03-22 11:31:19
【问题描述】:
当我定义时
declare module "my-module";
我是说“你可以从这个模块导入任何东西”例如:
import {funcFuncFunc} from 'my-module';
funcFuncFunc(10); // No error here
但是!我不能使用从这个模块导入的任何东西作为类型。
import {BlahBlahBlah} from "my-module";
let a: BlahBlahBlah; // Error like "Cannot use namespace 'BlahBlahBlah' as a type.
如果我这样定义这个接口:
declare module "my-module" {
type BlahBlahBlah = any;
}
那么最后一个例子可以正常工作,但第一个例子会中断。
问题:有没有办法做出一个定义,让我可以两全其美?我只想为我想用作类型的东西定义显式接口,而其他一切都是隐式的。
所以,这将起作用:
declare module "my-module" {
type BlahBlahBlah = any;
// + Some any Magic
}
import {BlahBlahBlah, funcFuncFunc} from 'my-module';
let a: BlahBlahBlah;
funcFuncFunc(10);
【问题讨论】:
-
尝试在类型或变量前添加“export”。
-
据我所知,您不能使用隐式解析为
any的未定义名称。
标签: typescript typescript-typings