Biorąc pod uwagę te pliki 2 maszynopisautomatyczne generowanie deklaracji modułu otoczenia
api/Token.ts
interface Token {
code: string
}
export default Token
i index.ts
export * from './api/Token'
TSC 1.5 z przełącznikiem --declarations
wygeneruje dwa .d.ts
plików (o podobnej treści)
api/Token.d.ts
interface Token {
code: string;
}
export default Token;
i index.d.ts
export * from './api/Token';
Running grunt-DTS-pakiet z następującymi opcjami
dts_bundle: {
release: {
options: {
name: 'my-module',
main: 'index.d.ts'
}
}
}
wygeneruje deklaracji plik modułu otoczenia my-module.d.ts
o następującej treści
declare module 'my-module' {
export * from './api/Token';
}
Jednak ta deklaracja nie skompilować ze względu na: Import or export declaration in an ambient module declaration cannot reference module through relative module name.
Jak ja automatycznie generowania deklaracji modułu otoczenia dla dwojga pliki maszynopisu powyżej?
EDIT
Proszę śledzić najnowsze informacje dotyczące https://github.com/Microsoft/TypeScript/issues/2262
Dziękuję za szczegółową odpowiedź i przepraszam za późną odpowiedź, czekałem na test TypeScript 1.6, który całkowicie zmienia umowę. Twoje rozwiązanie to sposób na TypeScript <1.6. W przypadku TypeScript 1.6 w tym wydaniu GitHub są pewne szczegóły: https://github.com/Microsoft/TypeScript/issues/247 –
@BrunoGrieder https://github.com/Microsoft/TypeScript/wiki/Typings- for-npm Pakiety są naprawdę niejasne. Czytałem strony na stronach komentarzy dotyczących zagadnień github, ale nie mogę znaleźć odpowiedzi na to naprawdę proste pytanie. W przypadku maszynopisu> 1.6, na przykład, chcesz napisać bibliotekę, która korzysta z modułu "inversify" (wpisana), a następnie chcesz również użyć funkcji inversify poza biblioteką. Jak to osiągnąć? – David
@ David Nie używałam nigdy inwersji, ale możesz znaleźć bibliotekę zestawu [tutaj] (http://github.com/wadahiro/typescript-library-boilerplate) i kilka szczegółów, które napisałem [tam] (http://stackoverflow.com/questions/34221594/best-to-share-a-js-object-between-a-maszynopis-frontend-and-nodejs-backend/34225037 # 34225037) i nieco podobne pod spodem [tam] (http://stackoverflow.com/questions/35582275/using-an-external-typescript-library-within-a-typescript-internal-module/35588095#35588095) –