Skip to content

Commit 8361de5

Browse files
authored
fix: image flicker during hydration and nuxt devtools (#65)
1 parent df8e3b1 commit 8361de5

File tree

4 files changed

+13
-10
lines changed

4 files changed

+13
-10
lines changed

app/layouts/default.vue

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,8 @@
5757
}
5858
5959
onMounted(async () => {
60-
// clear SSR'd components
61-
headerInstance.value?.teardown?.();
62-
footerInstance.value?.teardown?.();
63-
footerHtml.value = '';
64-
headerHtml.value = '';
65-
66-
footerInstance.value = new Footer({ target: footerEl.value });
67-
headerInstance.value = new Header({ target: headerEl.value });
60+
footerInstance.value = new Footer({ target: footerEl.value, enhance: true });
61+
headerInstance.value = new Header({ target: headerEl.value, enhance: true });
6862
headerInstance.value.set('@global.app.signIn', auth.signIn);
6963
headerInstance.value.set('@global.app.signOut', auth.signOut);
7064
headerInstance.value.set('additionalClasses', 'header-with-globalping-bg');

eslint.config.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ module.exports = createConfigForNuxt().prepend(
3636
},
3737
// Nuxt rules
3838
{
39-
files: [ 'app/**' ],
39+
files: [ 'app/**', '*.ts' ],
4040
rules: {
4141
'import/order': [ 'error', {
4242
distinctGroup: false,

nuxt.config.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,13 @@ export default defineNuxtConfig({
134134
};
135135
}
136136
},
137+
'build:manifest': (manifest) => {
138+
for (const file of Object.values(manifest)) {
139+
if (file.resourceType === 'image') {
140+
file.prefetch = false;
141+
}
142+
}
143+
},
137144
},
138145
nitro: {
139146
externals: {

src/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,9 @@ router.get('/auth/callback', '/auth/callback', async (ctx) => {
257257
/**
258258
* Nuxt routes and files.
259259
*/
260-
const NUXT_ROUTES = [ '/cli', '/_nuxt' ];
260+
const NUXT_DEV_ONLY_ROUTES = [ '/__nuxt_devtools__' ];
261+
const NUXT_PROD_ONLY_ROUTES = [];
262+
const NUXT_ROUTES = [ '/cli', '/_nuxt', ...isDev ? NUXT_DEV_ONLY_ROUTES : NUXT_PROD_ONLY_ROUTES ];
261263

262264
router.use(async (ctx, next) => {
263265
if (NUXT_ROUTES.some(route => ctx.req.path.startsWith(`${route}/`) || ctx.req.path === route)) {

0 commit comments

Comments
 (0)