Ho iniziato a lavorare su un progetto dattiloscritto su larga scala.Utilizzo dello spazio dei nomi su più file in TypeScript
Fin dall'inizio, voglio mantenere i miei file organizzati (questo progetto sarà diviso tra molti sviluppatori in modo che l'ordine sia molto necessario).
Ho tentato di utilizzare moduli/spazi dei nomi e classi di divisione in file separati per ognuno, con una cartella contenente lo spazio dei nomi.
La struttura dei file è:
app.ts
\Classes
---- \Animals
---- ---- Mammals.ts
---- ---- Reptiles.ts
Ho poi tenta di importare tutti i file in tale spazio dei nomi in app.ts utilizzando qualcosa di simile: import * as Animals from "./Classes/Animals"
Per quanto riguarda file stessi lo spazio dei nomi, ho cercato il in seguito, senza successo:
namespace Animals {
export class Mammals {
constructor() {
}
}
}
e anche:
module Animals {
export class Reptiles {
constructor() {
}
}
}
Sfortunatamente, il percorso non viene mai riconosciuto (poiché punta a una cartella e non a un singolo file). È possibile? Avere tutte le mie classi da un singolo spazio dei nomi in un file risulterà in file che sono migliaia di righe e per questo progetto che non è mantenibile.
Ho anche notato che TypeScript 1.5 ha il supporto per tsconfig.json - tuttavia, dover aggiungere ogni file manualmente alla mappa è un modo infallibile di introdurre problemi quando gli sviluppatori iniziano ad aggiungere classi.
NOTA: sto utilizzando Visual Studio 2015, TypeScript 1.5 (credo, non so come verificare). Ho anche il supporto per ES6 attivato.
Grazie per qualsiasi consiglio che puoi dare!
Il manuale ufficiale copre questo (anche se ut potrebbero non essere aggiornate) http://www.typescriptlang.org/Handbook#modules-splitting-across-files – pablochan
Grazie @pablochan - avevo visto anche quello . Fare riferimento a ciascun file nello spazio dei nomi come quello è contro intuitivo. È possibile indicare lo spazio dei nomi piuttosto che i singoli file? – Askanison4
No, a meno che Visual Studio o qualche altro strumento non disponga di questo. – pablochan