У меня есть приложение Angular 8 для совместной работы с другим приложением (старая версия приложения. Я продолжаю разрабатывать новую версию, и они должны продолжать работать вместе). Я знаю, что у Angular есть префиксы пути ['/path1', '/path2', '/path3']
. Все остальные способы использования для API или старой версии приложения (например, ['/api/*', '/*']
).
Я хочу использовать Service Worker, а Service Worker просто кэширует файлы Angular.
Пример угловых траекторий:
Маршрут нанесения:
/path1/*
/path2/*
/path3/*
И весь исходный файл Angular:
/index.html
/main.(_hash_).js
/common.(_hash_).js
/polyfills.(_hash_).js
... *(all prod compiled angular files)*
/assets/*
Пример других путей:
/oldApp
=> (возвратindex.html для старой версии) /*
=> (все файлы и API использования приложения старой версии) /api/*
=> (для угловых API)
Я знаю, это сложно, но я могу изменить только приложение Angular.
Я, наконец, использовал это ngsw.config.json , но это тоже не работает.
{
"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/**"
]
}
}
],
"dataGroups": [
{
"name": "oldApp",
"urls": [
"/oldApp/**",
"/**"
],
"cacheConfig": {
"max-size": 0,
"maxAge": "0u",
"strategy": "freshness"
}
},
{
"name": "api",
"urls": [
"/api/**"
],
"cacheConfig": {
"max-size": 0,
"maxAge": "0u",
"strategy": "freshness"
}
}
]
}
Извините за мой плохой английский.