angular - Service Worker 未注册或无法控制启动 URL
问题描述
Chrome 清单选项卡:
我也没有看到任何服务工作者,Chrome 服务工作者选项卡:
这是我的 manifest.json:
{
"short_name": "shortname",
"name": "Full Name",
"icons": [
{
"src": "img/logo.svg",
"type": "image/svg",
"sizes": "512x512"
}
],
"start_url": "/",
"background_color": "#cc2366",
"display": "standalone",
"scope": "/",
"theme_color": "#cc2366"
}
app.module.ts
...
import { ServiceWorkerModule } from '@angular/service-worker';
import { AppComponent } from './app.component';
import { environment } from '../environments/environment';
@NgModule({
declarations: [
AppComponent
],
imports: [
...
environment.production ? ServiceWorkerModule.register('/ngsw-worker.js') : [],
...
],
providers: [
],
bootstrap: [
AppComponent
]
})
export class AppModule {
}
.angular-cli.json
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
...
},
"apps": [
{
...
"serviceWorker": true,
...
}
],
"e2e": {
...
},
"lint": [
...
],
"test": {
...
},
"defaults": {
...
}
}
但是我可以https://myrooturl/ngsw-worker.js
通过浏览器访问。
我错过了什么?
(光盘:一些不相关的代码以虚线显示)
解决方案
你的语法是错误的。它应该是。
imports: [
...
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production }) : [],
...
],
推荐阅读
- bash - bash 'echo ${full_path##/*}' 中发生了什么
- javascript - 为什么对pdf做出反应看不到我的树数据
- amazon-elastic-beanstalk - 具有 Beanstalk 源的 AWS Cloudfront - 如何避免重定向到源
- c# - 使用 System.Xml.XmlReader 读取带有无效 XML 处理指令的 XML
- optimization - 有什么方法可以减少在 fortify 的翻译阶段花费的时间?
- visual-studio - Blazor WebAssembly 项目无法引用 NETCore 类库
- javascript - 我想用 JavaScript 解压缩 GZIP 字符串
- javascript - 如何使子列在滚动时跟随父行
- html - 我想在悬停的元素上添加一个大纲属性,而不是在父元素上
- javascript - Office Word 插件 JS - 将图像插入程序生成的表格单元格