1

最近、ASP.NET CoreでAngular 2を使用し始めました。私はWebpackを使ってSystemJsから自動ロードの混乱を取り除きました。その結果、私のアプリはAngularでhello worldの恐ろしい400のjsファイルをロードしました。私はVisual StudioでWebpackを統合するためにWebPackTaskRunnerを見つけました。 thisの記事を使用して、プロジェクトロード時にWebpackウォッチャーが開始されるようにVSを設定しました。ASP.NET CoreのAngular 2 Appの変更を自動的にブラウザに更新

このツールキットを使用すると、CTRL + Sを使ってAngular 2アプリを変更できます。数秒後にスクリプトがコンパイルされ、ブラウザで更新できます。私はいくつかのjsファイルが変更されたときにブラウザをリフレッシュするように、これを自動化したいと思います。これは、webpack-dev-serverを使って行うことができます。それらの問題は次のとおりです。別のWebサーバーを起動し(たとえばポート8080で)、すべてのルートが壊れています。

たとえば、ユーザー/ GetAllからデータを取得したいのですが、通常これはデバッグサーバー(http://localhost:5000/api/Users/GetAll)にあります。アプリケーションはwebpack devserverを使用してlocalhost:8080上で動作するので、アプリケーションはhttp://localhost:8080/api/Users/GetAllを要求しようとします。これはASP.NET Core Webサーバーがないので動作しません。この問題を回避するには、ベースURLを指定する必要がありました。

Visual StudioでASP.NET Coreを使用してAngular 2でライブリフレッシュを行うベストプラクティスはありますか?いいえ、私は両方のWebサーバー(ASP.NETコアとWebpack開発者)を起動する必要があります。

答えて

0

WebPackは、プロジェクトのディレクトリ上のファイルの変更を監視するため、Angular 2アプリをバンドルして開発中に楽になります。新しい軽量httpサーバで実行され、ブラウザにあなたのアプリケーションを表示します。

ASP.NETコアのCORSを有効にする必要があります。これは、localhost:8080からlocalhost:5000までの問題を抱えているため、別のドメインで動作するAngular 2アプリケーションで動作します。

Enabling Cross-Origin Requests (CORS)

また、あなたはどこかにあなたがHTTP呼び出しを実行する必要がある任意の場所の内側にハードコードではない、皆のための1時間を変更することができますサービスのURLを入れる必要があります。このファイルには、開発環境、ステージング環境、プロダクション環境などのすべての環境のURLが含まれている必要があります。ビルド・パラメータに基づいてURLを選択するようにWebPackを構成できます。

AngularClass/angular2-webpack-starter

関連する問題