Githubからangular2-seedプロジェクトのクローンを作成し、手順を実行しましたが、この警告がVSコードに含まれています[ts]デコレータの実験的なサポートは、将来のリリースで変更される可能性のある機能です。この警告を削除するには、「Exxperimentaldecorators」オプションを設定します。
Vscodeのファイル/設定/ユーザー設定に移動し、このコードを入力します
{
"TypeScript.tsdk": "node_modules/TypeScript/lib"
}
作成した新しいサービスで@Injectable()を使用すると、この問題が発生しました。 VSCodeのTypeScriptコンパイラからその警告がありました。
その新しいサービスをプロバイダーとして使用する予定のモジュールに追加すると、警告が消えました。
うまくいけば、これで問題が解決します。
あなたのtsconfig.json
ファイル、次のようにプロジェクトのパスをinclude
プロパティに追加します。
"include": [
"app/**/*"
]
または、個々のファイルをfiles
プロパティに追加することもできます。これが私のtsconfig.json
例のように見えます(Angular2アプリの場合):
{
"compileOnSave": false,
"buildOnSave": false,
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noEmitHelpers": true,
"sourceMap": true,
"types": [
"node"
],
"typeRoots": [
"../node_modules/@types"
],
"lib": [
"es2015",
"dom"
]
},
"files": [
"app/main.ts",
"app/app.module.ts"
],
"include": [
"app/**/*.ts"
],
"exclude": [
"node_modules",
"dist",
"build",
"app/main.aot.ts"
]
}
Tsconfig.jsonは次のようになります。
{
"compilerOptions": {
"experimentalDecorators": true
},
"files": [], //add a "files" array (in my case empty)
"exclude": [
"node_modules"
]
}
または、VSCodeプリファレンス(ユーザー設定)に行を追加することもできます
"javascript.implicitProjectConfig.experimentalDecorators": true
これは、古いバージョンのTypeScriptを使用しているためです。このメッセージを削除するには、TypeScriptのバージョンをアップグレードする必要があります。
npm install -g TypeScript@latest
また、npmを最新バージョンにアップグレードする必要もあります。