2015-07-22 15 views
6

Ho diverse interfacce che uso su un intero progetto di dattiloscritto strutturato CommonJS. Mi piacerebbe creare un file globale chiamato "interfaces.ts" ... Invece di dover importare l'interfaccia o aggiungere un riferimento in ogni file .ts (boilerplate), c'è un modo per dichiararlo globalmente, magari nel tsconfig .json file?Come aggiungere interfacce globali TypeScript personalizzate

Sono consapevole che esiste un file di definizione globale denominato lib.d.ts, che è fondamentalmente un'interfaccia dichiarata globalmente. Mi rendo conto che probabilmente posso modificare questo file, ma cercavo un modo migliore (astrazione).

Modifica: probabilmente dovrei notare che attualmente sto usando il codice di Visual Studio.

risposta

3

Questo è il modo in cui tsconfig.json funziona per impostazione predefinita. Creare un tsconfig.json nella radice del progetto senza una proprietà "file". Potrebbe essere necessario riavviare VS Code affinché riconosca lo tsconfig.json.

Se in un file tsconfig.json non è presente la proprietà "file", il compilatore imposta automaticamente tutti i file contenenti la directory e le sottodirectory. Quando viene specificata una proprietà "file", sono inclusi solo quei file.

https://github.com/Microsoft/TypeScript/pull/1692

+0

Ahh Capisco ... tutto ciò che dovevo fare era rimuovere l'"esportazione" quando si definiva l'interfaccia e ora VSCode lo vede come globale. Grazie. – wayofthefuture

0

. Mi rendo conto che probabilmente posso modificare questo file, ma cercavo un modo migliore (astrazione)

Avere un file chiamato globals.d.ts. Questo modello è documentato qui: http://basarat.gitbooks.io/typescript/content/docs/project/globals.html

+0

Ho letto il tuo libro negli ultimi 3 giorni! Molto impressionante! Ho anche letto sul tuo progetto di raccolte di dattiloscritti (non riesco a trovare documenti online). Il nome 'global.d.ts' è speciale per TypeScript? C'è qualche differenza rispetto all'utilizzo di interfaces.d.ts? Grazie – wayofthefuture

+0

No. Niente di speciale nel nome. Solo una convenzione – basarat

+12

Ho notato che non si documenta come collegare in modo acuto un file global.d.ts definito dall'utente. Puoi per favore elaborare? – icfantv

Problemi correlati