2016-12-21 2 views
5

У меня есть некоторые пользовательские файлы .d.ts, и я хочу, чтобы tsc собирал эти файлы при компиляции. Для того, чтобы получить это сделать я изменить tsconfig.file включить следующиеtsconfig.json typeroots пользовательский путь не получен

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

./app/modules где мой пользовательский .d.ts файл находится. Внутри папка ./app/modules У меня есть следующий myModule.d.ts файла

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

Теперь в моем другом файл транскрипта У меня есть следующий импорт

import { myModule } from 'myModule'; 

Здесь я получаю следующее сообщение об ошибке Не удается найти модуль 'myModule'.

+0

Я имею это точно такая же проблема, и я отправил его. Для меня typeRoots не работает. Для временного обхода я добавил скрипт postinstall, который копирует типы из моего вложенного каталога в каталог @types в корне. – httpete

ответ

0

Я нашел конфигурацию, которая исправляет это. Обратите внимание на «пути» магии и «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" 
] 

}