既知の問題
Chrome/Edge DevTools が Angular で reveal-sdk を使用するとフリーズする
問題
reveal-sdk をインポートしている Angular アプリケーションで Chrome または Edge の DevTools を開くと、DevTools のフロントエンドが応答しなくなる場合があります。
Angular の Vite ベースの開発サーバーは、Reveal モノリシック ESM バンドルから reveal-sdk.js.map ファイルを生成します。DevTools がこの ソース マップを検出して処理しようとしますが、ファイルが非常に大きいためフリーズが発生します。
回避策
オプション 1 – Angular キャッシュを node_modules 配下にリダイレクトする (推奨)
依存関係 URL が DevTools の組み込み無視ルールに一致するよう、angular.json で Angular CLI のキャッシュ パスをカスタマイズします。
"cli": {
"cache": {
"path": "node_modules/.cache/angular"
}
}
オプション 2 – DevTools にカスタム無視ルールを追加する
DevTools → 設定 → 無視リスト → カスタム除外ルール に以下のルールを追加します。
.*\/\.angular\/cache\/.*\/vite\/deps\/reveal-sdk\.js.*
注意: この方法は有効ですが、開発者ごと、ブラウザー プロファイルごとに個別に設定する必要があります。
Windows Azure App Service でのエクスポート非対応
問題
Azure App Service (Windows) 上でホストしている場合、エクスポート機能はサポートされていません。これは、ブラウザー ベースのエクスポートに必要な Playwright が、Azure App Service 内の Windows ディストリビューションではサポートされていないためです。
回避策
次の 2 つの方法で解決できます。
-
Linux App Service プランを使用する アプリを Windows ではなく Azure App Service (Linux) 上でホストします。 ASP.NET Core の起動時に、
Program.cs内で Web アプリケーションを実行する前に Playwright インストーラーを呼び出します。var builder = WebApplication.CreateBuilder(args);//...Microsoft.Playwright.Program.Main(new string[] { "install", "chromium", "--with-deps" });app.UseAuthorization();app.MapControllers();app.Run();これにより、Chromium および必要な依存関係がランタイムで利用可能になります。
-
Windows コンテナーを使用する Windows 環境を維持する必要がある場合は、アプリケーションを Windows コンテナー内でホストします。 これにより、コンテナー イメージ内で Playwright をインストールおよび構成でき、Windows App Service の制限を回避できます。