Angular Service Worker 忽略相对路径

Mar*_*yra 5 angular-cli angular-service-worker

我有一个角度运行,确实在某个路径下运行,例如 https://host:port/path/

当我加载应用程序并运行 ngsw-cache-bust 时,它会忽略路径并尝试直接从根路径https://host:port/script.js获取脚本,而不是从https://host:port/获取脚本路径/script.js

我通过运行 ng add @angular/pwa 添加了 pwa

我尝试了几种注册方法,例如 /ngsw-worker.js 或 ./ngsw-worker.js,但这些方法似乎都无法修复它

我们使用 Angular 7.2.0

ngsw-config.json 看起来像这样

`

{
  "index": "/index.html",
  "routes": {
    "/": {
      "prefix": false
    },
    "/scripts": {
      "prefix": true
    },
    "/libraries": {
      "prefix": true
    }
  },
  "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)"
        ],
        "urls": [
          "https://fonts.googleapis.com/**"
        ]
      }
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

`

任何帮助将不胜感激!

Mar*_*yra 3

我通过在 package.json 中的 prod 脚本内添加路径来解析 id

    "prod": "gulp copy-assets && ng build --prod --progress=false --base-href=/abcd/",
Run Code Online (Sandbox Code Playgroud)