NestJS服务器上的Angular PWA在新部署后崩溃
我正在NestJS(版本7)服务器上运行Angular PWA(版本11)。每次新部署后,PWA都会崩溃,因为浏览器试图加载一个不再存在的JavaScript文件,服务器会重定向到根站点(html):NestJS服务器上的Angular PWA在新部署后崩溃,angular,express,service-worker,nestjs,angular-pwa,Angular,Express,Service Worker,Nestjs,Angular Pwa,我正在NestJS(版本7)服务器上运行Angular PWA(版本11)。每次新部署后,PWA都会崩溃,因为浏览器试图加载一个不再存在的JavaScript文件,服务器会重定向到根站点(html): 有什么建议吗?提前谢谢。我将向您展示如何使用正在工作的服务人员,您可以测试它,看看它是否能解决您的问题 以下是导入服务工作者的方式: 导入:[ ServiceWorkerModule.register('/ngsw-worker.js',{enabled:environment.productio
有什么建议吗?提前谢谢。我将向您展示如何使用正在工作的服务人员,您可以测试它,看看它是否能解决您的问题 以下是导入服务工作者的方式:
导入:[
ServiceWorkerModule.register('/ngsw-worker.js',{enabled:environment.production})
]
您应该在app.component
中使用它来测试浏览器是否实现了service worker:
public ngOnInit():void{
if(this.swUpdate.isEnabled){
此.swUpdate.available.subscribe(()=>{
如果(确认(‘新版本可争议’){
window.location.reload();
}
});
}
}
这是您的服务人员的样子:
{
“index”:“/index.html”,
“资产组”:[
{
“名称”:“应用程序名称”,
“安装模式”:“预取”,
“资源”:{
“文件”:[
“/favicon.ico”,
“/index.html”
],
“versionedFile”:[
“/*.bundle.css”,
“/*.bundle.js”,
“/*.chunk.js”
]
}
},
{
“名称”:“资产”,
“installMode”:“lazy”,
“updateMode”:“预取”,
“资源”:{
“文件”:[
“资产/**”
]
}
}
],
“数据组”:[
{
“名称”:“示例api”,
“URL”:[
“/api/示例”
],
“缓存配置”:{
“策略”:“新鲜度”,
“超时”:“10秒”,
“最大年龄”:“1d”,
“最大尺寸”:100
}
}
]
}
main.945bce5e14ef8a6c0362.js:1 Uncaught SyntaxError: Unexpected token '<'
import { join } from 'path';
import { Module } from '@nestjs/common';
import { ServeStaticModule } from '@nestjs/serve-static';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [
ServeStaticModule.forRoot({
serveStaticOptions: {
etag: false,
setHeaders: (res, path) => {
if (path.includes('ngsw.json')) {
res.set('Cache-Control', 'no-cache, no-store, must-revalidate');
}
}
},
rootPath: join(__dirname, '..', 'pwa'),
exclude: ['/api*']
})
],
controllers: [AppController],
providers: [AppService]
})
export class AppModule {}