如何为 commonjs 和 globals 生成 TypeScript 定义

how to produce TypeScript definitions for both commonjs and globals?

本文关键字:生成 TypeScript 定义 globals commonjs      更新时间:2023-09-26

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

我可以使用 webpack 将其捆绑并发布到全局命名空间中,但定义 ( .d.ts ) 与全局不兼容(由于"导出"关键字)。

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

只需声明一个函数而不进行任何导出。

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

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

declare function myFunctionInGlobalNamespace(): mynamespace.myFunctionInGlobalNamespace;