我如何declare
环境module
是function
?
declare module "UUID" {
(seed?: number): string;
}
↑不起作用。
答案 0 :(得分:3)
如果需要在函数上指定属性,也可以使用声明合并。
var imei = window.MainActivity.getIMEI();
这些都不是推荐的,但在转换旧的js时是不可避免的。
答案 1 :(得分:2)
declare module "UUID" {
function uuid(seed?: number): string;
export = uuid;
}
这是一些文字,因为只有代码的答案会被标记为注意!
答案 2 :(得分:0)
来自mk。的回答,我不得不安排一些不同的东西让我的编译器满意:
declare module 'UUID' {
namespace UUID {
// ...
}
function UUID(seed?: number): string;
export = UUID;
}
我必须说它看起来(有点)对我更加理智:)
答案 3 :(得分:0)
实际上,由于某种原因,直接导出function
就像这里的其他答案对我来说似乎是失败的。在declare module
里面,我发现我必须声明
然后我可以导出变量。例如,这应该可以工作(名称更改,如果有错字,请发表评论):
declare module 'UUID' {
interface UuidFunc {
(seed?: number): string;
}
const uuid:UuidFunc;
exports = uuid;
}
如果我尝试其他答案的建议,即:
declare module 'UUID' {
function uuid(seed?:number):string;
export = uuid;
}
并尝试使用此代码使用它,然后我得到一个错误:
// TS2497: Module ''UUID'' resolves to a non-module entity and cannot be imported using this construct
import * as uuid from 'UUID';