Почему Typescript игнорирует мой tsconfig.json внутри кода Visual Studio?
у меня такая настройка проекта
project/
|
+---src/
| |
| +---app/
| |
| sample.ts
|
+---typings/
+---tsconfig.json
и вот мой tsconfig.json
{
"compilerOptions": {
"rootDir": "src",
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": true,
"sourceMap": true,
"noImplicitAny": false,
"outDir": "dist"
},
"exclude": [
"node_modules",
"src/assets",
"src/lib"
]
}
мне интересно, почему VSC указывает на такие ошибки, как
когда вообще нет ошибок ("experimentalDecorators": true
находится в tsconfig.json
), и приложение transpiles просто отлично? И это не только декораторы, Promise
и подобное также подсвечивается (я убедился, что tsconfig.json
в папке typings
и я получил typings для es6-shim
установить).
не уверен, что это имеет значение, но я на typescript@2.0.0-dev.20160707
на данный момент.
2 ответов
Короткий Ответ:
VS код игнорирует ваш tsconfig.json
когда вы используете более новую версию TypeScript, чем та, которую VS Code предоставляет из коробки.
вы используете TypeScript 2.0.0-dev.20160707
, так что, вероятно, это то, что происходит.
как использовать более новую версию TypeScript в VS Code
первый, установите TypeScript в свой node_modules
. Выберите стабильный или ночной.
npm install typescript --save-dev // stable
npm install typescript@next --save-dev // nightly
второй добавить равнодействующая lib
относительный путь к вашей settings.json
. То есть открыть settings.json
в VS Code через File > Settings > User Settings и добавьте следующее свойство.
{
"typescript.tsdk": "node_modules/typescript/lib"
}
Примечание, если вы установили TypeScript глобально (-g
) вместо , затем настройте ваш typescript.tsdk
соответствующее место.
третий, убедитесь, что у вас есть действительный tsconfig.json
. Вот образец.
{
"compileOnSave": false,
"compilerOptions": {
"sourceMap": true,
"target": "es5",
"experimentalDecorators": true,
"noImplicitAny": false
},
"exclude": [
"node_modules"
],
"filesGlob": [
"src/**/*.ts",
"test/**/*.ts",
"typings/index.d.ts"
]
}
документация
VS код поставляется с последней стабильной версией TypeScript в коробке. если вы хотите использовать более новую версию TypeScript, вы можете определить typescript.настройка tsdk (File > Preferences > User / Workspace Settings), указывающая на каталог, содержащий Tsserver TypeScript.js и соответствующий lib.*.d.TS файлы. Путь к каталогу может быть абсолютным или относительным к рабочей области справочник. Используя относительный путь, вы можете легко поделиться этим параметром рабочей области с командой и использовать последнюю версию TypeScript (npm install typescript@next). См. это сообщение в блоге для получения более подробной информации о том, как установить ночные сборки TypeScript. (курсив добавлен).
см. также: https://blogs.msdn.microsoft.com/typescript/2016/01/28/announcing-typescript-1-8-beta/
найдите папку typescript
был установлен с npm
в моем случае это было:
C:\Users\<username>\AppData\Roaming\npm\node_modules\typescript\lib
среди других файлов должно быть:
lib.d.ts
tsserver.js
внутри. Теперь откройте Настройки:
File -> Preferences -> User Settings/Workspace Settings
это должно открыть файл settings.json
добавить:
{
"typescript.tsdk": "C:\Users\<username>\AppData\Roaming\npm\node_modules\typescript\lib"
}
(обратите внимание на двойные косые черты \
), сохранить и-важно-перезапустить код Visual Studio. Наслаждаться.