別のAngularアプリケーションに存在するライブラリ(プロジェクト)に実装されたAngularモジュールを使用しようとしています。IntelliJでエラーが発生しClass MyModule is not an Angular module
、ng build
このプロジェクトを正常に実行できる間、すべてのライブラリがIntelliJで認識されないようです。さらに奇妙なのは、他のAngularアプリに実際に2つのAngularライブラリが存在し、他のライブラリのモジュールを問題なく使用できることです。
私は関連する他の同様に見える問題を訪問しましたがclass is not an Angular module
、それらは関連していないようです。
これが私の頭を数時間包んだ後に見つけた答えです。メインプロジェクトで問題のあるライブラリを使用する方法は次のとおりです。
npm link
build
libのフォルダにありますnpm link @my-org/my-new-lib
アプリで問題が発生します。ng build @my-org/my-new-lib --watch
libの場合と一緒に、これにより、両方のプロジェクトで同時に作業して、ターゲットアプリで即座に結果を確認できます。
-問題が明らかにIntelliJののバグによるものですhttps://youtrack.jetbrains.com/issue/WEB-38354?_ga=2.263408847.258701770.1571260138-1443411092.1565629801 -それはとの依存関係を引き起こしてdist
自動的にもかかわらずにexculdedするパスにライブラリはターゲットアプリのnode_modules
IntelliJに正しくリンクされているため、ライブラリは除外されているため、ライブラリは実際にはIDEで使用できません。
回避策(jetbrainsチケットで提案されているものと同様)は、ターゲットアプリのIDEでシンボリックリンクに移動することですnode_modules/@my-org/my-new-lib
-それを右クリックして、[ディレクトリをマーク] -> [除外しない]を選択します
これは本当に混乱し、克服するのが明白ではなかったので、これが誰かにいくらかの時間を節約するかもしれないことを願っています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加