Asp.net core PWA ServiceWorker不使用Asp.net核心Spa扩展

Asp.net core PWA ServiceWorker不使用Asp.net核心Spa扩展,asp.net-core,angular-service-worker,angular-pwa,Asp.net Core,Angular Service Worker,Angular Pwa,我用angular创建了一个示例项目aspnet.core 2.1 webapplication,并用ng add@angular/pwa 然后创建了一个带有两个控制器的小应用程序进行测试 现在,如果我在spaextension中使用angular client运行应用程序,serviceworker已注册并正在运行,但根本不缓存资产或数据组。 客户端是使用--prod生成的,并且spaExtension不会启动开发服务器,而是从“dist”文件夹加载文件 如果我用两台主机(后端localhos

我用angular创建了一个示例项目aspnet.core 2.1 webapplication,并用
ng add@angular/pwa

然后创建了一个带有两个控制器的小应用程序进行测试

现在,如果我在spaextension中使用angular client运行应用程序,serviceworker已注册并正在运行,但根本不缓存资产或数据组。 客户端是使用
--prod
生成的,并且
spaExtension
不会启动开发服务器,而是从“dist”文件夹加载文件

如果我用两台主机(后端
localhost:5555,角度客户端localhost:5556
)托管客户端和后端,它将按预期工作,应用程序、图像、字体和
api
将按配置缓存

    services.AddSpaStaticFiles(configuration =>
    {
        configuration.RootPath = "ClientApp/dist";
    });

    app.UseSpa(spa =>
    {
        // To learn more about options for serving an Angular SPA from ASP.NET Core,
        // see https://go.microsoft.com/fwlink/?linkid=864501

        spa.Options.SourcePath = "ClientApp";

        //if (env.IsDevelopment())
        //{
        //    spa.UseAngularCliServer(npmScript: "start");
        //}
    });
我不知道为什么当客户端在同一台主机上运行时它不工作,但是如果单独托管,它会工作。API路由可能是错误的,但我尝试了所有可能的方法。资产没有路由,因此无论如何都应该工作

这里是
ngsw配置
,但由于它在单独托管时工作,我认为问题不在这里

{
  "index": "/index.html",
  "assetGroups": [
    {
      "name": "app",
      "installMode": "prefetch",
      "resources": {
        "files": [
          "/favicon.ico",
          "/index.html",
          "/*.css",
          "/*.js"
        ]
      }
    }, {
      "name": "assets",
      "installMode": "lazy",
      "updateMode": "prefetch",
      "resources": {
        "files": [
          "/assets/**",
          "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"
        ]
      }
    }, {
      "name": "fonts",
      "resources": {
        "urls": [
          "https://fonts.googleapis.com/**",
          "https://fonts.gstatic.com/**"
        ]
      }
    }
  ],
  "dataGroups": [
    {
      "name": "api-freshness",
      "urls": [
        "https://localhost:5001/api/news"
      ],
      "cacheConfig": {
        "maxSize": 100,
        "maxAge": "3d",
        "timeout": "1m",
        "strategy": "freshness"
      }
    },
    {
      "name": "api-performance",
      "urls": [
        "https://localhost:5001/api/list"
      ],
      "cacheConfig": {
        "maxSize": 100,
        "maxAge": "10d",
        "timeout": "10s",
        "strategy": "performance"
      }
    }
  ]
}