·
1 min read

Nuxt Tip: Detecting Server vs. Client-Side Code Execution

MH

Michael Hoffmann

@mokkapps

Nuxt Tip: Detecting Server vs. Client-Side Code Execution Image

If you need to specify that you want run a certain code block in your Nuxt 3 application only on the client-side, you can use the import.meta.client:

Component.vue
<script setup>
if (import.meta.client) {
  // This code will only run on the client-side
}
</script>

Analogously, if you need to specify that you want run a certain code block only on the server-side, you can use the import.meta.server:

Component.vue
<script setup>
if (import.meta.server) {
  // This code will only run on the server-side
}
</script>

Why is this useful?

This is useful if you need to run code that is only available on the client-side or server-side. For example, if you need to access the window object, you can only do so on the client-side.

Read more about the import.meta object in the Nuxt docs.

If you liked this Vue tip, follow me on BlueSky to get notified about new tips, blog posts, and more. Alternatively (or additionally), you can subscribe to my weekly Vue & Nuxt newsletter :

I will never share any of your personal data. You can unsubscribe at any time.