在Angular 12中,Service Worker的配置文件名为ngsw-config.json。然而,在使用路由时,ngsw-config.json可能会因路径问题而无法访问。为了解决这个问题,需在angular.json配置文件中添加以下代码:
"assets": [
...
{
"glob": "**/*",
"input": "./node_modules/@angular/service-worker/config/",
"output": "/service-worker/"
}
]
这会将ngsw-config.json文件复制到构建后的应用程序的/service-worker/目录中,使其可访问。同时,在app.module.ts中,需导入ServiceWorkerModule并将以下代码添加到@NgModule的imports数组中:
ServiceWorkerModule.register('ngsw-worker.js', {
enabled: environment.production,
// 注册config文件
registrationStrategy: 'registerWithDelay:5000',
scope: './'
}),
其中,config文件路径应与angular.json中的输出路径保持一致。
通过以上配置,现在应该可以在路由应用程序中访问ngsw-config.json文件了。