私はasp.netコア2.2反応テンプレートベースのアプリを持っています
ClientApp の下の反応アプリには、「npm run build」カスタム スクリプトを介して ClientApp の下の lib フォルダーにあるものをコンパイルする反応アプリ用の独自のビルド スクリプトがあります。
さらに重要なことに、アプリはカスタム ノード/エクスプレス ベースの Web サーバーで実行されます (clientapp で npm run start を実行すると、たとえばポート 6000 でリッスンする Web サーバー スクリプトが起動されます)。
テンプレートに付属している標準の反応開発サーバーを使用できません。asp.net コア レイヤーの startup.cs ファイルは、spa.UseProxyToSpaDevelopmentServer ( http://localhost:6000 )経由でそれを使用します。
app.UseSpa (spa =>
{
spa.Options.SourcePath = "ClientApp";
if (env.IsDevelopment ())
{
string reactDevServerUri = Configuration["ReactDevServerUri"];
spa.UseProxyToSpaDevelopmentServer(reactDevServerUri);
}
});
vs 2017 でのデバッグ セッション中に、ClientApp\src フォルダー内の typescript ファイルが変更された場合、1
. ClientApp\package.json 内のスクリプト 'build' を呼び出して、ClientApp\lib フォルダー内の反応アプリをコンパイルする必要があります。 2. Web サーバーを再起動します。スクリプト「start」を介して実行して、lib の新しい変更を選択します
3.ブラウザをリロードします
現在、nodemonを使用して反応アプリの変更を追跡し、ビルドスクリプト後にサーバーを再起動する「デバッグ」スクリプトを追加しました
"debug": "nodemon -e ts,tsx --watch src --exec \"npm run build && npm run start\""
私はまだブラウザを自分でリロードする必要があり、ビルド/開始が完了するまで失敗し続けます。カプセル化asp.netコアプロジェクトを適切に構成することにより、これを一度に行うためのより良い方法が必要です。
私が方法を理解するのを手伝ってください:)