2015-07-30 11 views
10

Muszę migrować krok po kroku jakiś duży projekt z js do typeScript.Jak zadeklarować "dowolny" moduł w TypeScript?

Przepiszę ponownie pliki w ts i chcę określić, że inne pliki w tym momencie mogą zawierać dowolną treść.

Na przykład coś takiego:

declare module jsModule:any; 
var obj:jsModule.cls = new jsModule.cls() 

Ale to nie działa w tej chwili. Muszę określić każdą wyeksportowaną klasę/funkcję/zmienną w deklaracji modułu.

Czy mogę zadeklarować moduł zewnętrzny jako "dowolny" w jakiś szybki sposób?

Odpowiedz

12

W przypadku modułu zewnętrznego bez odsłoniętych i wszelkich rodzajów wartości:

declare module 'Foo' { 
    var x: any; 
    export = x; 
} 

to nie pozwoli Ci napisać foo.cls, choć.

Jeśli gasząc poszczególnych klas, można napisać:

declare module 'Foo' { 
    // The type side 
    export type cls = any; 
    // The value side 
    export var cls: any; 
} 
+0

var x: dowolny; ^^^ Nieoczekiwany token var –

+0

Otrzymuję błąd "Przypisanie eksportu nie może być używane w przestrzeni nazw" z podkreśloną linią 'export = x;'. Każdy pomysł, dlaczego? –

+0

Zapomniałeś cytatów wokół nazwy modułu –

Powiązane problemy