2013-10-15 6 views
5

Ich schreibe eine TypeScript-Definitionsdatei (.d.ts) für eine JS-Bibliothek, die derzeit keine hat.Namespaces für Schnittstellen in der Typoskriptdefinitionsdatei

Andere .d.ts Datei scheinen alle Arten in die ‚globale‘ Namespace zu setzen (wenn Sie sehen, was ich meine), während ich folgendes tun versuche:

// root valerie object 
// 
declare var valerie: Valerie.ValerieStatic; 

// additional types for Valerie (all inside this virtual namespace) 

declare module Valerie { 

    // 
    // Static methods on valerie namespace 
    // 
    interface ValerieStatic { 
     // definitions go here..... 

Das bedeutet, dass ich Meine Schnittstellen werden möglicherweise nicht mit anderen gekreuzt, falls sie existieren sollten.

Meine Frage ist - es scheint zu funktionieren, aber gibt es ein mögliches Problem mit diesem Ansatz?

Antwort

2

Im Allgemeinen ist dies ein guter Ansatz. Wenn innerhalb des Moduls Valerie einige Schnittstellentypen vorhanden sind, die von den Benutzern häufig verwendet werden, sollten Sie sie möglicherweise auf die oberste Ebene heraufstufen, sodass es einfacher ist, sie zu referenzieren.

+0

Danke für die Bestätigung - ich habe mich gefragt, warum andere diesen Ansatz nicht befolgten, was mich besorgt machte, dass ich vom wahren Weg abirrte. :) – Quango

Verwandte Themen