Angesichts dieser 2 Maschinenschrift Dateienautomatischen Erzeugen von Umgebungsmodul Erklärungen
api/Token.ts
interface Token {
code: string
}
export default Token
und index.ts
export * from './api/Token'
tsc 1.5 mit dem --declarations
Schalter erzeugen zwei .d.ts
Dateien (mit ähnlichem Inhalt)
api/Token.d.ts
interface Token {
code: string;
}
export default Token;
und index.d.ts
export * from './api/Token';
Lauf Grunzen-dts-Bündel mit den folgenden Optionen
dts_bundle: {
release: {
options: {
name: 'my-module',
main: 'index.d.ts'
}
}
}
wird eine Umgebungsmodul Deklarationsdatei my-module.d.ts
mit folgendem Inhalt
declare module 'my-module' {
export * from './api/Token';
}
jedoch diese Erklärung nicht kompilieren aufgrund erzeugen: Import or export declaration in an ambient module declaration cannot reference module through relative module name.
Wie kann ich automatisch eine Umgebungsmoduldeklaration für die beiden erzeugen Typoskript-Dateien oben?
EDIT
Bitte folgen neuesten Updates auf https://github.com/Microsoft/TypeScript/issues/2262
Vielen Dank für die ausführliche Antwort und meine Entschuldigung für die späte Antwort, ich warte auf TypScript 1.6 zu testen, die den Deal vollständig ändert. Ihre Lösung ist der Weg für TypeScript <1.6. Für TypeScript 1.6 gibt es einige Details in diesem GitHub-Problem: https://github.com/Microsoft/TypeScript/issues/247 –
@BrunoGrieder https://github.com/Microsoft/TypeScript/wiki/Typings-for-npm -Pakete ist wirklich unklar. Ich habe Seiten auf Seiten mit Kommentaren zu GitHub-Problemen gelesen, kann aber keine Antwort auf diese wirklich einfache Frage finden. Wenn Sie beispielsweise mit typescript> 1.6 eine Bibliothek schreiben möchten, die das Modul "inversify" (typisiert) verwendet, möchten Sie auch inversify außerhalb der Bibliothek verwenden. Wie erreichst du das? – David
@David Ich habe nie inversify verwendet, aber Sie können eine Textbaustein-Bibliothek finden [http://github.com/wadahiro/typescript-library-boilerplate] und einige Details, die ich [dort] schrieb (http://stackoverflow.com)/questions/34221594/best-way-to-share-a-js-objekt-zwischen-a-typescript-frontend-und-nodejs-backend/34225037 # 34225037) und etwas ähnlich am unteren [dort] (http://stackoverflow.com/questions/35582275/using-an-external-typescript-library-within-a-typescript-internal-module/35588095#35588095) –