2016-12-21 29 views
5

Mam niestandardowe pliki .d.ts i chcę, aby tsc odebrał te pliki podczas kompilacji. W celu uzyskania tego zrobić zmodyfikować tsconfig.file zawierać następująceŚcieżka niestandardowa tsconfig.json niestandardowa ścieżka nie została odebrana

"typeRoots": [ 
     "../node_modules/@types", 
     "./app/modules" 
    ] 

./app/modules gdzie przebywa mój zwyczaj .d.ts plików. Wewnątrz folder ./app/modules Mam następujący myModule.d.ts plików

export declare module myModule { 
    function Login(); 
    function Logout(); 
} 

Teraz w moim innym pliku maszynopis Mam następujący import

import { myModule } from 'myModule'; 

Tutaj pojawia się następujący błąd Nie mogę znaleźć modułu "mójModuł".

+0

Mam dokładnie ten sam problem, a ja napisałem go. Dla mnie typeRoots nie działa. Dla obejścia tymczasowego dodano skrypt postinstall, który kopiuje typy z mojego katalogu zagnieżdżonego do katalogu @types w katalogu głównym. – httpete

Odpowiedz

0

Znalazłem konfigurację, która to rozwiązuje. Zwróć uwagę na "Paths" magię "i" baseURL

{ 
"version": "2.1.5", 
"compilerOptions": { 
    "module": "commonjs", 
    "target": "ES5", 
    "removeComments": true, 
    "preserveConstEnums": true, 
    "inlineSourceMap": true, 
    "lib": [ 
     "es6", 
     "dom" 
    ], 
    "typeRoots": [ 
     "src/subfolder/node_modules/@types" 
    ], 
    "moduleResolution": "node", 
    "baseUrl": "./", 
    "paths": { 
     "*": [ 
      "src/subfolder/node_modules/@types/*", 
      "*" 
     ] 
    } 
}, 
"exclude": [ 
    "node_modules", 
    "src/subfolder/node_modules" 
] 

}