問題タブ [angular-hybrid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular Testing に $injector のプロバイダーがありません
ハイブリッド AngularJS/NG6 アプリでテストをセットアップしようとしてきましたが、これを行うのは非常に困難です。一定のエラーが発生し続けます。最新のものは次のとおりです。
エラー: StaticInjectorError(DynamicTestModule)[$injector]:
StaticInjectorError(プラットフォーム: コア)[$injector]:
NullInjectorError: $injector のプロバイダーがありません!
私は次のものを持っていますcomponent
:
それは完全にうまくいきます。API からデータを取得できます。反対側には、次のspec
ファイルがあります。
このspec
ファイルを実行すると、上記のエラーが表示されます。エラーが非常に曖昧であるため、エラーが何を伝えようとしているのかわかりません。
$Injector
モジュールをspec
ファイルに正しく提供するにはどうすればよいですか?
angularjs - Angular & AngularJs ハイブリッド アプリでテストを実行するには?
AngularJs アプリケーションを Angular 7 に移行したいので、ngUpgrade を使用してハイブリッド アプリを作成しました。古い AngularJs アプリは新しい Angular アプリに組み込まれました。
実行するng test
と、Angular テストが開始されますが、これは問題ありません。しかし、AngularJs で書かれた古いテストも実行したいと考えています。
現時点で、カルマの設定は次のようになります。
./karma.webpack.config
ファイルは次のとおりです。
最後になりましたが、重要なことは次のkarma.entrypoint.ts
とおりです。
以前、AngularJs アプリしかなかったときは、karma コマンドを使用して、非常によく似た構造でテストを実行しました。私のwebpack構成を利用して、新しいカルマwebpack構成を作成しました。今、コマンドで実行すると、カルマ構成の最初でさえできません(取得しますng test
)。require
'./karma.webpack.config'
Invalid config file! TypeError: require(...) is not a function
すべてのテストを実行するには、このケースにどのようにアプローチすればよいですか?
angular - Angular 7 + Webpack 4 でカプセル化された CSS
Angular 1.x と Angular 7 の両方のルートを持つハイブリッド環境があります。Angular 1.x ルートは古いブートストラップ 3 を使用していますが、Angular 7 はブートストラップ 4 を使用する必要があります。インポートすることで、Angular 7 ルート専用のブートストラップ 4 をカプセル化しようとしました。
コンポーネントの内部
しかし、私は得続けます
モジュール ビルドのエラー (./node_modules/mini-css-extract-plugin/dist/loader.js から): TypeError: cannot read property 'replace' of undefined at normalizeBackSlashDirection (C:\Users...\RequestShortener.js) :16:17) コンパイラで新しいコンパイラ (C:\Users\r...\Compiler.js:185:27) で新しい RequestShortener (C:\Users...\RequestShortener.js:26:15) で。 Object.pitch (C:\Users.. .\mini-css-extract-plugin\dist\loader.js:70:43) 機能する唯一のオプションは、コンポーネントの先頭に以下を追加して、css をモジュールに直接インポートすることでした。
しかし、ブートストラップ 4 はブートストラップ 3 クラスをオーバーライドし、Angular 1.x のスタイリングを壊します。
ヘルプpppp
angular - ハイブリッド Angular で別のコンポーネントに移動する
ハイブリッド Angular を使用して別のページ/コンポーネントに移動する方法がわかりません。
Angular 2 では Router などを使用します。
ハイブリッド Angular では、ハイブリッド ルーティングを次のように使用します。
ハイブリッドAngularを使用してtypescript内から別のページ/コンポーネントに移動するにはどうすればよいですか?