我有一个 VueJs SPA 应用程序。一切正常。但是当我运行 chrome lighthouse 报告时,它返回
Properly defines charset
错误。事实上,我已经在我的index.html 文件中添加了字符集。
这是问题截图。
Chrome 灯塔报告
最佳实践中的 Chrome 灯塔问题
我添加字符集UTF-8的代码
这是服务人员的问题。我无意中双重注册了服务人员。这就是它造成问题的原因。
我有同样的问题,它也指向工人 我的工人安装:
self.addEventListener("install", event => {
event.waitUntil(installEvent());
self.skipWaiting();
});
async function installEvent() {
const response = await fetch(createCacheBustedRequest(OFFLINE_URL));
const cache = await caches.open(CURRENT_CACHES.offline);
await cache.put(OFFLINE_URL, response);
}
// od poprawnego przeładowania zakłądek
self.addEventListener('message', async event => {
if (event.data === 'reloadClients') {
const clients = await self.clients.matchAll({type: 'window'});
for (const client of clients) {
client.navigate(client.url);
}
}
});
self.addEventListener("activate", event => {
event.waitUntil(handleActivation());
self.clients.claim();
});
async function handleActivation() {
let cacheNames = await caches.keys();
let validCacheNames = Object.values(CURRENT_CACHES);
let deletePromises = [];
for(let cacheName of cacheNames) {
if(!validCacheNames.includes(cacheName)) {
//console.log("Deleting out of date cache:", cacheName);
deletePromises.push(caches.delete(cacheName));
}
}
await Promise.all(deletePromises);
// Po wykonaniu wszystkich operacji czyszczenia, przeładuj wszystkie zakładki przeglądarki.
self.clients.matchAll({type: 'window'}).then(windowClients => {
windowClients.forEach(windowClient => {
windowClient.navigate(windowClient.url);
});
});
}