Je voudrais corriger l'avertissement:
Avertissement: impossible de trouver le parent tsconfig.json
dans l'onglet TypeScript Errors
dans IntelliJ IDEA 2016.3
. Mon code TypeScript réside dans le répertoire src
et ma sortie TypeScript va dans lib
comme prévu sans que le dossier src
soit ajouté à lib
.
Je consomme le dossier lib
dans d'autres projets et il semble fonctionner comme prévu. Donc cela ne semble pas être un gros problème, mais j'ai parfois un problème avec TSLint où il ne semble parfois pas récupérer un fichier .tsx
Est JSX et lints incorrectement et semble parfois le traiter comme un fichier .ts
normal. Finalement, il semble comprendre. Je me demande si cela est lié car mes paramètres TSLint sont configurés pour utiliser tsconfig.json
.
J'ai également eu précédemment des fichiers transpilés .js
À côté des fichiers .ts
Dans le dossier src
, mais pas depuis que j'ai modifié mon tsconfig.json
Récemment.
Fichiers comme suit:
tsconfig.json
src/index.ts
lib/index.js
lib/index.d.ts
J'ai mis à niveau vers TypeScript 2.1.4, mais je le voyais avec 2.0.10.
Mon fichier tsconfig.json
:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"jsx": "react",
"allowJs": false,
"isolatedModules": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"noImplicitAny": false,
"noImplicitUseStrict": true,
"noEmitHelpers": false,
"removeComments": true,
"noLib": false,
"sourceMap": true,
"inlineSources": true,
"preserveConstEnums": true,
"allowSyntheticDefaultImports": true,
"suppressImplicitAnyIndexErrors": true,
"rootDir": "./src",
"outDir": "./lib"
},
"include": [
"./src/**/*"
],
"compileOnSave": true,
"atom": {
"rewriteTsconfig": false
}
}
le problème est spécifique à la version TypeScript utilisée (2.1.x); il est fixé dans 2016.3. 2 EAP
Remarque: cette réponse fait référence au problème spécifique à IDE (WebStorm, PHPStorm, IDEA) version 2016.3: cela ne fonctionnait pas bien avec TypeScript 2.1.x, affichant de faux avertissements. Si vous voyez message (Cannot find parent tsconfig.json
) dans les autres versions IDE, il s'agit probablement d'un problème avec votre configuration: ces messages s'affichent s'ils sont actuellement modifiés .ts
le fichier n'est inclus dans aucun tsconfig.json
.
Essayez de configurer la section include
dans le fichier tsconfig.json
comme dans l'image ci-dessous.
(Notez que le dossier racine de mon projet est frontend
et ma include
section est frontend/**/*
).
Bien sûr, vous n'avez pas besoin de renommer le dossier racine de votre projet en frontend
.
Seule la dénomination doit correspondre.
Il devrait prendre effet immédiatement après avoir enregistré le tsconfig.json
et ouvrez un .ts
ou .tsx
fichier. S'il ne tente pas de redémarrer le WebStorm/IDEA
.
Et n'oubliez pas d'effacer la console error
avant de tester cette solution. Il pourrait mettre en cache les messages précédents.
P/S: J'utilise WebStorm 2016.3.1
.
Si vous utilisiez webpack
avec ts-loader
la solution ci-dessus entraînerait l'échec de vos versions. Si tel était le cas, envisagez plutôt cette approche.
Aucune des solutions ci-dessus n'a fonctionné pour moi, mais je suis tombé sur un changement tsconfig qui l'a fait. Il semble que le IDE utilise différentes règles que tsc
.
Cela n'a PAS fonctionné:
"include": ["./typings", "./src", "./test"],
Cela a fonctionné:
"include": ["./typings/**/*", "./src/**/*", "./test/**/*"],
Essayez de définir le "numéro de version" dans votre fichier tsconfig.json.
{
"version": "2.1.4",
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"jsx": "react",
"allowJs": false,
"isolatedModules": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"noImplicitAny": false,
"noImplicitUseStrict": true,
"noEmitHelpers": false,
"removeComments": true,
"noLib": false,
"sourceMap": true,
"inlineSources": true,
"preserveConstEnums": true,
"allowSyntheticDefaultImports": true,
"suppressImplicitAnyIndexErrors": true,
"rootDir": "./src",
"outDir": "./lib"
},
"include": [
"./src/**/*"
],
"compileOnSave": true,
"atom": {
"rewriteTsconfig": false
}
}