Angular service worker игнорирует относительный путь

#angular-cli #angular-service-worker

#angular-cli #angular-service-worker

Вопрос:

У меня есть angular run, который выполняется по сертификационному пути, напримерhttps://host:port/path /

Когда я загружаю приложение и запускается ngsw-cache-bust, оно игнорирует путь и пытается извлечь скрипт непосредственно из корневого путиhttps://host:port/script.js вместо того, чтобы извлекать его изhttps://host:port/path/script.js

Я добавил pwa, запустив ng add @angular/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/**"
        ]
      }
    }
  ]
}
  

`

Любая помощь была бы высоко оценена!

Ответ №1:

Я разрешил идентификатор, добавив путь внутри скрипта prod в package.json

     "prod": "gulp copy-assets amp;amp; ng build --prod --progress=false --base-href=/abcd/",