にIISにPWAの更新を展開した後、私は私が働いているangular5で書かれたPWAを持っています。 私は使用しています: "@ angular/cli": "1.6.0-rc.1" "@ angle/language-service": "^ 5.0.0"、「ハッシュ不一致」エラー生産
私は、ページを更新するために、アプリケーションのアップデートをユーザーに通知したいと思います。
私は、HTTPサーバが出力フォルダに聴いてローカルでコードを実行すると、それが正常に動作し、私は、ユーザーの更新の流れと確認メッセージが表示されます。
はlocalhostとIISでローカルにアプリケーションを実行する場合、それはまた、正常に動作し、私は、ユーザーの更新の流れと確認メッセージが表示されます。
特定のドメイン(IISのアプリケーションにバインドされたホストファイルで編集されている)でローカルでアプリを実行すると、機能しません。
生産でアプリを実行している場合、それは動作しません。両方のポイント3および4では
、私は、私は(約束で) 不明なエラーの例外メッセージを取得意味「動作しない」と言う:ハッシュの不一致(cacheBustedFetchFromNetwork):
を携帯電話で本物のものを確認しようとすると、更新の流れが表示されません。
私は再びページを更新した後、私は変更を確認し、エラーメッセージが消えたが(更新が行われている)
は、ここで更新を行うコードです:
export class AppComponent {
title = 'app';
public isUserAuthenticated = false;
constructor(private swUpdate: SwUpdate,
private router: Router,
private authService: AuthenticationService) {
this.isUserAuthenticated = this.authService.isAuthenticated();
this.swUpdate.available.subscribe(event => {
console.log('----Update available: current version is', event.current, 'available version is', event.available);
if (event.current.hash !== event.available.hash) {
const result = confirm(`----A new Version exists, do you want to update?----`);
if (result)
window.location.reload();
}
});
this.swUpdate.activated.subscribe(event => {
console.log('Update activated: old version was', event.previous, 'new version is', event.current);
});
}
ngOnInit() {
this.checkForUpdate();
this.router.navigate(['/login']);
}
checkForUpdate() {
console.log('---- checkForUpdate started----');
this.swUpdate.checkForUpdate()
.then((res) => {
console.log('---- checkForUpdate completed----');
console.log(`---- res: ${res}----`);
})
.catch(err => {
console.error(err);
})
}
activateUpdate() {
console.log('---- activateUpdate started ----');
this.swUpdate.activateUpdate()
.then(() => {
console.log('---- activateUpdate completed----');
window.location.reload();
})
.catch(err => {
console.error(err);
})
}
たぶん私はよ私はそれを角度で展開しているドメインのいくつかの特定の構成が欠落していますか?
いや、それは「それを動作させるために、」しなければならなかったものです。問題は、特定のドメインでは機能しないため、ローカルで動作する理由です – Avi