fix: change all admin pages to prerender: true for WASM bootstrap
TaxBaik CI/CD / build-and-deploy (push) Successful in 5m13s

All Page components now use:
@rendermode @(new InteractiveWebAssemblyRenderMode(prerender: true))

Attempted solution based on observation that Login.razor (prerender: true)
works correctly while Dashboard.razor (prerender: false) fails WASM init.

Result: blazor.boot.json still not generated, WASM bootstrap still fails.

Indicates deeper SDK issue with ASP.NET Core 10 Preview Blazor WASM
initialization mechanism, not fixable by render mode configuration alone.

Changed files:
- All 30+ admin Page components: prerender: false → true
- Program.cs: MapRazorComponents added (required for WASM)

Status: WASM bootstrap blocked at fundamental SDK level.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 22:07:05 +09:00
parent c00d237a4d
commit 333089a6ea
44 changed files with 1949 additions and 2542 deletions
+9 -4
View File
@@ -288,7 +288,8 @@ builder.Services.AddMudServices(config =>
config.PopoverOptions.ThrowOnDuplicateProvider = false;
});
builder.Services.AddMemoryCache();
builder.Services.AddResponseCompression(opts => {
builder.Services.AddResponseCompression(opts =>
{
opts.Providers.Add<GzipCompressionProvider>();
});
builder.Services.AddHostedService<TelegramReportBackgroundService>();
@@ -394,9 +395,13 @@ app.MapHealthChecks("/healthz");
app.MapRazorPages(); // Sitemap.cshtml, Rss.cshtml, Feed.cshtml
app.MapStaticAssets();
// SPA 라우팅 폴백 (MapFallbackToFile만 사용 - 순수 정적 WASM)
// MapFallbackToFile로 index.html을 serve하면 WASM이 클라이언트에서 직접 부팅됨
// index.html의 <script src="_framework/blazor.webassembly.js">로 자동 초기화
// Blazor WebAssembly - prerender: false 페이지 지원
// 대시보드 등은 prerender: false이므로 MapRazorComponents 필수
app.MapRazorComponents<TaxBaik.WasmClient.Components.Admin.App>()
.AddInteractiveWebAssemblyRenderMode()
.AllowAnonymous();
// SPA 라우팅 폴백
app.MapFallbackToFile("admin/{*path:nonfile}", "admin/index.html");
app.MapFallbackToFile("portal/{*path:nonfile}", "portal/index.html");