Vscode-ng-language-service: tsconfig.jsonのパス設定により問題が発生します

作成日 2017年10月13日  ·  21コメント  ·  ソース: angular/vscode-ng-language-service

vscode 1.17.0(windows)にTSLint(5.7.0)、codelyzer(3.2.1)、angular lang service0.1.7をインストールしています

私のAngularcli(1.4.5)プロジェクトでは

tsconfigに次の設定がある場合

"paths": {
  "@app/*": ["app/*"],
  "@env/*": ["environments/*"]
},

そして私のインポートは次のようになります
import {SharedModule} from '@ app / shared / shared.module';

赤い下線付きのvscodeで表示されるテンプレートには、このようなエラーがたくさんあります。

[Angular]プロパティバインディングngIfは、埋め込みテンプレートのどのディレクティブでも使用されません。 プロパティ名のスペルが正しく、すべてのディレクティブが「@ NgModule.declarations」にリストされていることを確認してください。

しかし、相対パスでインポートすると

import {SharedModule} from '../../ shared / shared.module';

問題はなくなります。

最初は、vscode-tslint https://github.com/Microsoft/vscode-tslint/issues/276#event-1292520818だと思いました。

しかし、それはAngular LanguageServiceからのもののようです

bug

最も参考になるコメント

ここで私は同じ問題を抱えています。

全てのコメント21件

ここで私は同じ問題を抱えています。

私も同じ問題を抱えてる

  • パスエイリアスを使用すると、vscodeはエラーを表示します
  • vsコードはテンプレートで* ngIf ...を使用するとエラーを表示します

@maxisamコード構造がどのように見えるかをここに書いていただけますか? 特にapp.module.tsとshared.module.tsが配置されている場所。 バレル(index.ts)を使用していますか?

yout tsconfigで"paths"を使用する場合は、 "baseUrl".を指定する必要があることを述べておきます(このstackoverflowの回答によると)

ルート
| --src
| --app
|-共有

バレルは使用していません。 これは通常のCLIレイアウトです。 プロジェクトはcliによって生成されます。

パス設定があります。

ここでも同じ問題があります。 baseUrlパラメータはすでに「src」で設定されていますが、機能しません。

この設定は私にとって問題を解決しました:

"baseUrl": "./",
"paths": {
  "@app/*": ["app/*"],
  "@env/*": ["environments/*"],
  "@services/*": ["app/modules/core/services/*"],
  "@models/*": ["app/models/*"],      
  "@components/*": ["app/components/*"],
  "@modules/*": ["app/modules/*"],
  "@core/*": ["app/modules/core/*"],
  "@shared/*": ["app/modules/shared/*"],
  "@features/*": ["app/modules/features/*"]
}

私はAngular-CLIを使用していますが、外部コンポーネントライブラリ(作成者)を使用するとこの問題が発生します。 上記の設定でtsconfig.app.jsonを変更しようとしましたが、私の側では何も変更されませんでした。 他に回避策はありますか? および/または、ライブラリに何らかの変更を加える必要がありますか?

@aitboudadに感謝しいきませんでした。 私はついに時間をかけてアプリをAngular 5に更新し、他の問題で提案したように"@angular/language-service": "5.1.0-beta.1"更新しましたが、それでもこのエラーが発生します。 これは、私が作成したAngular-Slickgridというライブラリからのものであり、相対パスを使用する開発環境では./この問題は発生しませんが、外部アプリのライブラリをimport ... from 'angular-slickgrid'として使用しています

エラーが発生していることがわかります

[Angular] Cannot read property 'isSkipSelf' of null

cannotskipitself

@ghiscoding @angular/language-serviceをインストールした後、 vscodeを再起動する必要があります

@aitboudadはい、私もそうしましたが、それでもエラーが発生しました。

@ angular / language-serviceをインストールした後でも、これは私にとっても機能しません

同じ問題を報告することもできます。 これは、言語サービス拡張機能を備えたVSCodeでのみ発生します。 WebStormはデフォルトで問題なく、すべてを解決します。
https://github.com/angular/angular/issues/16382およびhttps://github.com/nrwl/nx/issues/73も参照して

これに関する更新はありますか?

こんにちは、私だけだと思いました。

私はAngularMono Repoに取り組んでいますが、これは少し前に起こり始めました。

それがすぐに修正されることを願っています! みんなありがとう!

@chuckjaz何かアイデアはありますか?

https://github.com/angular/angular/issues/16382でこれが修正され、Angular.ng-template0.1.9としてリリースされました。 @fxck最新バージョンを実行しているかどうかを確認できますか?

@kyliau
私の側ではもう問題は見られないので、今は問題がないことを確認できます。 ありがとう

問題が修正されたので、今のところこれを閉じます。

この問題は、非アクティブのために自動的にロックされています。
同様の問題または関連する問題が発生した場合は、新しい問題を提出してください。

自動会話ロックポリシーの詳細をご覧ください。

_このアクションはボットによって自動的に実行されました。_

このページは役に立ちましたか?
0 / 5 - 0 評価