警告を修正したいと思います:
警告:親tsconfig.jsonが見つかりません
typeScript Errors
のIntelliJ IDEA 2016.3
のタブ。 TypeScriptコードはsrc
ディレクトリにあり、lib
フォルダーをsrc
に追加しなくても、TypeScript出力はlib
に期待どおりに送信されます。
他のプロジェクトでlib
フォルダーを使用していますが、期待どおりに機能しているようです。したがって、これは大きな問題ではないようですが、TSLintで時々.tsx
ファイルがJSXでなく、リントが正しくないように見えて、時々それを通常のように扱うという問題があります.ts
ファイル。最終的にはそれを理解するようです。 TSLint設定がtsconfig.json
を使用するように構成されているため、これが関連しているかどうか疑問に思っています。
以前に.js
トランスパイルされたファイルがsrc
フォルダー内の.ts
ファイルの横に表示されることもありましたが、最近tsconfig.json
を変更したためです。
次のようなファイル:
tsconfig.json
src/index.ts
lib/index.js
lib/index.d.ts
TypeScript 2.1.4にアップグレードしましたが、2.0.10で表示されていました。
私の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
}
}
問題は使用されているTypeScriptバージョン(2.1.x)に固有です。 2016.3。2 EAP で修正されています
注:この回答は、IDE(WebStorm、PHPStorm、IDEA)バージョン2016.3に固有の問題を参照しています。TypeScript2.1.xではうまく機能せず、誤った警告が表示されます。同様の場合メッセージ(Cannot find parent tsconfig.json
)他のIDE=バージョンでは、設定に問題がある可能性があります。現在編集中の場合、このようなメッセージが表示されます.ts
ファイルが含まれていないtsconfig.json
。
以下の画像のように、ファイルtsconfig.json
にinclude
セクションを設定してみてください。
(私のプロジェクトのルートフォルダはfrontend
であり、include
セクションはfrontend/**/*
)です。
もちろん、プロジェクトのルートフォルダの名前をfrontend
に変更する必要はありません。
名前のみが一致する必要があります。
tsconfig.json
を保存して.ts
または.tsx
ファイルを開いた直後に有効になります。再起動しない場合は、WebStorm/IDEA
を再起動してください。
そしてこのソリューションをテストする前にerror
コンソールをクリアすることを忘れないでください。以前のメッセージをキャッシュする可能性があります。
P/S:私はWebStorm 2016.3.1
を使用しています。
webpack
をts-loader
と一緒に使用している場合、上記のソリューションではビルドが失敗します。その場合は、代わりにこのアプローチを検討してください。
上記の解決策はどれもうまくいきませんでしたが、うまくいったtsconfigの変更に遭遇しました。 IDEはtsc
とは異なるルールを使用しているようです。
これは機能しませんでした:
"include": ["./typings", "./src", "./test"],
これでうまくいきました:
"include": ["./typings/**/*", "./src/**/*", "./test/**/*"],
「バージョン番号」を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
}
}