Dato questi file 2 dattiloscrittogenerano automaticamente le dichiarazioni di modulo ambientali
api/Token.ts
interface Token {
code: string
}
export default Token
e index.ts
export * from './api/Token'
TSC 1.5 con l'interruttore --declarations
genererà due .d.ts
files (con contenuti simili)
api/Token.d.ts
interface Token {
code: string;
}
export default Token;
e index.d.ts
export * from './api/Token';
Esecuzione grugnito-DTS-fascio con le seguenti opzioni
dts_bundle: {
release: {
options: {
name: 'my-module',
main: 'index.d.ts'
}
}
}
genererà un file di dichiarazione del modulo ambiente my-module.d.ts
con il seguente contenuto
declare module 'my-module' {
export * from './api/Token';
}
Tuttavia questa dichiarazione non compila a causa di: Import or export declaration in an ambient module declaration cannot reference module through relative module name.
Come posso automaticamente generare una dichiarazione del modulo ambiente per i due file dattiloscritto sopra?
EDIT
Si prega di seguire gli ultimi aggiornamenti sulla https://github.com/Microsoft/TypeScript/issues/2262
Grazie per la risposta dettagliata e le mie scuse per la risposta in ritardo, stavo aspettando di testare TypeScript 1.6 che cambia completamente l'accordo. La tua soluzione è la strada da percorrere per TypeScript <1.6. Per TypeScript 1.6, ci sono alcuni dettagli in questo problema su GitHub: https://github.com/Microsoft/TypeScript/issues/247 –
@BrunoGrieder https://github.com/Microsoft/TypeScript/wiki/Typings-for-npm I pacchetti sono davvero poco chiari. Ho letto pagine su pagine di commenti su problemi github ma non riesco a trovare una risposta a questa domanda davvero semplice. Con typescript> 1.6, se si desidera, ad esempio, scrivere una libreria che utilizza il modulo "inversify" (digitato), e quindi si desidera utilizzare anche l'inversify al di fuori della libreria. Come lo realizzi ?? – David
@David Non ho mai usato inversify ma puoi trovare una libreria standard [qui] (http://github.com/wadahiro/typescript-library-boilerplate) e alcuni dettagli che ho scritto [lì] (http://stackoverflow.com/questions/34221594/best-way-to-share-a-js-object-tra-a-typescript-frontend-and-nodejs-backend/34225037 # 34225037) e in qualche modo simile vicino al fondo [lì] (http://stackoverflow.com/questions/35582275/using-an-external-typescript-library-within-a-typescript-internal-module/35588095#35588095) –