nuxt

10 fev 2025

Nuxt DX e Lazy components

A experiência de desenvolvimento com Nuxt é realmente fora de série.

Uma das coisas que mais uso no dia a dia para melhorar a performance das aplicações e sites é o sistema de lazy loading.

Para importar um componente dessa forma, tudo o que você precisa fazer é adicionar o prefixo Lazy ao nome do componente. Simples assim.

Como temos o benefício do auto import dentro do Nuxt, isso deixa o código extremamente limpo.

O lazy loading ajuda a melhorar o tamanho do bundle, carregando os componentes apenas quando eles são necessários.

No código abaixo, trouxe um exemplo prático. Usando a aba network nas ferramentas de desenvolvedor do navegador, verificamos que o arquivo do componente MyComponent é carregado apenas após o botão ser clicado.

<script setup lang="ts">
const isComponentVisible = ref(false)
</script>

<template>
  <div>
    <button @click="isComponentVisible = true">Show component!</button>

    <!-- <MyComponent v-if="isComponentVisible" /> -->
    <LazyMyComponent v-if="isComponentVisible" />
  </div>
</template>