我有一个用commonjs模块系统编写的TypeScript项目,我想使其也可以从全局变量中使用(没有模块)。

我可以使用webpack将其 bundle 并发布到全局 namespace 中,但是定义(.d.ts)与全局变量不兼容(由于“export”关键字)。

那么,如何创建.d.ts文件供全局使用?有没有一种快速的方法,或者我必须手工编写它们?

最佳答案

只需声明一个函数而无需任何导出。

未经测试,但应该可以工作:

declare namespace mynamespace
{
    interface myFunctionInGlobalNamespace {
        ...
    }
}


declare function myFunctionInGlobalNamespace(): mynamespace.myFunctionInGlobalNamespace;

关于javascript - 如何为commonjs和globals生成TypeScript定义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35581110/

10-11 23:43