javascript - cum să produci definiții TypeScript atât pentru commonjs, cât și pentru globale?


Am un proiect TypeScript scris cu sistemul de module commonjs pe care aș dori să-l fac utilizabil și din globale (fără module).

Pot folosi webpack pentru a-l grupa și a-l publica în spațiul de nume global, dar definițiile (.d.ts) nu sunt compatibile cu globalele (din cauza cuvântului cheie „export”).

Deci, cum pot crea fișierele .d.ts pentru utilizare globală? Există o metodă rapidă sau trebuie să le scriu manual?

Răspuns #1

Doar declară o funcție fără niciun export.

Nu a fost testat, dar ar trebui să funcționeze :

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


declare function myFunctionInGlobalNamespace(): mynamespace.myFunctionInGlobalNamespace;