Мне нужно внедрить этот тег в место в скомпилированном index.html
после выполнения ng build --prod
.
<script>const VERSION = '1.0.0-{someCompileTimeValue}';</script>
Обычно после сборки я бы использовал gulp-inject
для ввода этого тега (включаядругие вещи, такие как google analytics, favicons).
Однако, после принятия ng add @angular/pwa
, он тихо жалуется на SwCriticalError: Hash mismatch
, потому что после хеширования index.html
он больше не соответствует хешу в ngsw.json
.
Как следствие, .available
:
constructor(private updates: SwUpdate){
interval(5000).pipe(exhaustMap(() => this.updates.checkForUpdate())).subscribe();
this.updates.available.subscribe(event => console.log('available!'));
}
я никогда не генерировал никаких событий * Я пытался запустить ./node_modules/.bin/ngsw-config dist/ ngsw-config.json
вручную, хотя он обновляет хэш index.html
в ngsw.json
.Он добавляет новые хэши и ссылки для ngsw-worker.js
, safety-worker.js
и worker-basic.min.js
, из которых я чувствую, что не должен быть там.
Если нет 'canon' решение, я бы, вероятно, (используя gulp
) хэш index.html
и присвоить его ngsw.json
запись.