Похоже, что после fre sh сборки с azure мой PWA обслуживает неправильные файлы
Вот мои runtime.*.js
после новой сборки
Как вы можете видеть, runtime.*.js
служит моим html
документом ??
затем после жесткого refre sh
это правильный файл ...
Теперь я знаю, что сервисный работник кэширует связанные файлы ... но зачем ему менять файл на html документ после новой azure сборки ??
Это мой ngsw-config.json
{
"index": "/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"resources": {
"files": ["/favicon.ico", "/index.html", "/manifest.json", "/*.bundle.css", "/*.bundle.js", "/*.chunk.js"]
}
},
{
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": ["/assets/**", "/*.(eot|svg|cur|jpg|png|webp|gif|otf|ttf|woff|woff2|ani)"]
}
}
]
}
Что я взял из многочисленных уроков о том, как правильно настроить Angular PWA.
Я нашел эту статью https://blog.ailon.org/quick-tip-pwa-manifest-and-azure-dd16664a3f43, и она говорит вам, что azure неправильно обслуживает .json
файлов, и для исправления этого вы можете сделать следующее в вас web.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<!-- IIS URL Rewrite for Angular routes -->
<rewrite>
<rules>
<rule name="Angular Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
, но я все еще получаю это при каждой новой сборке с azure
Что я делаю неправильно? Это работник службы? или это проблема с azure?
Это мой azure конвейер
и это мой релиз-конвейер
Как я могу решить эту проблему ??
Любая помощь будет признательна!