2016-12-12 4 views
2

В настоящее время я пытаюсь использовать новую функцию extends в tsconfig.json, которая позволяет разработчикам иметь базовый tsconfig.json, который другие модули могут продлить/изменить.TypeScript 2.1+ tsconfig extends

Работает, хотя и не так, как ожидалось. Так или иначе, единственный способ получить эту работу - указать compileroptions.lib как в родительских, так и дочерних конфигурациях.

parent.tsconfig.json

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "sourceMap": true, 
    "lib": [ // Lib compiler options defined!!! 
     "dom", 
     "es6" 
    ] 
    }, 
    "exclude": [ 
    "node_modules" 
    ], 
    "awesomeTypescriptLoaderOptions": { 
    "resolveGlobs": true, 
    "forkChecker": true 
    }, 
    "compileOnSave": false, 
    "buildOnSave": false, 
    "atom": { 
    "rewriteTsconfig": false 
    } 
} 

child.tsconfig.json (ожидаемый)

{ 
    "extends": "../parent.tsconfig.json", 
} 

child.tsconfig.json (требуется для работы)

{ 
    "extends": "../parent.tsconfig.json", 
    "compilerOptions": { 
    "lib": [ //Have to specify lib again ==> Double-u-t-f 
     "dom", 
     "es6" 
    ] 
    } 
} 

Некоторые советы по этому вопросу были бы оценены.

Cheers

+1

sourcemap и т. Д. Также не работают для меня, без видимой ошибки при использовании tsc, но VS 2015 очень жаловался на отсутствие модуля и цели. –

+0

странно, это работает для нас – Shrike

ответ

0

Вы все делаете правильно. Ваш файл tsconfig.json должен находиться в корневом каталоге текущего проекта. Дважды проверьте, правильно ли установлен файл parent.tsconfig.json в вашем child.tsconfig.json.