生产中的Angular 6服务人员

时间:2019-01-17 05:12:23

标签: angular service-worker angular-service-worker

我的生产项目中当前的服务人员遇到问题。基本上,服务器在apache上运行。每当我建立项目时 使用ng build --aot --build-optimizer --prod并上传并替换服务器上dist文件夹中dist文件夹中的所有文件,除非我在浏览器中完全清除了缓存,然后加载了最新版本,否则服务人员不会更新我的新版本。

我的问题是上传期间我做错了什么吗?还是服务人员自己解决问题?

据我了解,Service Worker使用ngsw.json比较新版本和旧版本之间的哈希值,但是由于我要完全删除文件并上传所有新文件,因此这意味着Service Worker拥有一些缓存的ngsw文件以进行比较,或者我错了吗?

我还在app.component.ts中添加了以下代码,以跟踪版本更新是触发还是不触发,但是我从未在控制台中获得任何输出。

constructor(private router: Router, public swUpdate: SwUpdate) {}

    ngOnInit() {

    this.swUpdate.available.subscribe(event => {
        console.log(`%c A newer version is now available. Refresh the page now to update the cache`, "background: black; color: red");
        this.update = true;
        this.swUpdate.activateUpdate().then(() => document.location.reload());
    });

    this.swUpdate.checkForUpdate();
}

0 个答案:

没有答案