window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versión: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster ya existe') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Nuxt 3 - un popular marco híbrido Vue - The Codest
The Codest
  • Quiénes somos
  • Servicios
    • Desarrollo de software
      • Desarrollo Frontend
      • Desarrollo backend
    • Staff Augmentation
      • Desarrolladores frontales
      • Desarrolladores de backend
      • Ingenieros de datos
      • Ingenieros de la nube
      • Ingenieros de control de calidad
      • Otros
    • Asesoramiento
      • Auditoría y consultoría
  • Industrias
    • Fintech y Banca
    • E-commerce
    • Adtech
    • Tecnología sanitaria
    • Fabricación
    • Logística
    • Automoción
    • IOT
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • Nuestro equipo
  • Case Studies
  • Saber cómo
    • Blog
    • Meetups
    • Seminarios en línea
    • Recursos
Carreras profesionales Póngase en contacto
  • Quiénes somos
  • Servicios
    • Desarrollo de software
      • Desarrollo Frontend
      • Desarrollo backend
    • Staff Augmentation
      • Desarrolladores frontales
      • Desarrolladores de backend
      • Ingenieros de datos
      • Ingenieros de la nube
      • Ingenieros de control de calidad
      • Otros
    • Asesoramiento
      • Auditoría y consultoría
  • Valor para
    • CEO
    • CTO
    • Gestor de entregas
  • Nuestro equipo
  • Case Studies
  • Saber cómo
    • Blog
    • Meetups
    • Seminarios en línea
    • Recursos
Carreras profesionales Póngase en contacto
Flecha atrás VOLVER
2022-05-25
Desarrollo de software

Nuxt 3: un popular marco híbrido Vue

The Codest

Filip Tobiasz

Vue.js Desarrollador

Nuxt 3 es la próxima generación del popular framework híbrido Vue, que nos permite utilizar Vue para construir aplicaciones renderizadas del lado del servidor. La versión beta fue lanzada el 12 de octubre de 2021, trayendo en Nuxt Vue 3, un nuevo motor de introducción, un paquete más ligero y adhook Vite.

Nuxt 3 ha sido rediseñado y reescrito para soportar ESM y TypeScript de forma nativa. Actualmente es inestable, por lo que aún no está listo para la producción. El lanzamiento del primer candidato ([email protected]) está previsto para el 7 de abril de 2022.

Siguiente tabla

fuente

Iniciar un nuevo proyecto

Abrir un terminal o abrir un terminal integrado desde Visual Studio Código y utiliza el siguiente comando para crear un nuevo starter proyecto:

npx nuxi init nuxt3-app

Abre la carpeta nuxt3-app:

cd nuxt3-app

Instale las dependencias:

instalación de yarn

Ejecute el servidor de desarrollo:

yarn dev

Construye la aplicación:

construcción de hilo

Ejecute la aplicación creada:

Inicio del hilo

¿Qué hay de nuevo?

Vue 3 soporte

Vue 3 incluye varias novedades que agilizan y facilitan la creación y el mantenimiento de aplicaciones. Los cambios más importantes se han realizado en la API Global Vue y en la API de eventos. Vue 3también introduce nuevas funciones como proporcionar / inyectar, la API de composición (que se describe más adelante), Fragmentos, y Teleport.

Composición API

La API de composición es una función integrada en Vue 3 que proporciona un conjunto de APIs que permiten utilizar funciones importadas en lugar de declarar opciones. Así pues, las principales ventajas de la API de composición son una mejor reutilización de la lógica, una organización más flexible del código y una gran integración TypeScript. Todas las partes de la nueva API pueden utilizarse fuera de Vue componentes.

Nuxt 3 proporciona un nuevo directorio - componibles/ - que permite auto-importar Vue composables intro application.

Ejemplo componible:

// Estará disponible como useFoo() (camelCase del nombre del archivo sin extensión)
 export default function () {
   return useState('foo', () => 'bar')// Estará disponible como useFoo() (camelCase del nombre de archivo sin extensión)
 export default function () {
   return useState('foo', () => 'bar')
 }
 }

Ejemplo de utilización de un componible en un Vue componente:

<div>{{ foo }}</div>
</>

Como puedes ver arriba, un composable se exporta como useFoo, tal y como se declara en el nombre const. Si no hay nombre de exportación, el composable será accesible como pascelCase del nombre del archivo. También permite integrar fácilmente los composables auto-importados con un popular composable de Vue Store llamado Pina.

Ejemplo de estructura de API

fuente

Motor Nitro

Nitro es un servidor full-stack que utiliza Rollup y Node.js trabajadores en desarrollo para servir código y aislamiento de contexto. También incluye una API de servidor y middleware de servidor. En producción, el motor construye la aplicación y el servidor en un único directorio: `.output`. La cuestión es que output es ligero: minificado y sin ningún tipo de nodo módulos. Nitro le permite desplegar el resultado en Node.js, Serverless, Workers, Edge-side rendering o como puramente estático. 

Nuxt 3 ofrece la posibilidad de desplegar en Azure o Netlify sin necesidad de configuración, junto con un despliegue en Firebase o Cloudflare con una configuración mínima.

Vite

Vite es una herramienta de frontend de nueva generación, integrada en Nuxt 3. Esta herramienta proporciona una experiencia de desarrollo más rápida para los proyectos web. Para el desarrollo, el servidor Vite cuenta con ricas mejoras de características sobre los módulos ES nativos y un Hot Module Replacement (HMR) muy rápido.

En el proceso de construcción, Vite agrupa el código con Rollup preconfigurado para optimizar los activos estáticos para la producción.

Nueva estructura de archivos

ejemplo de estructura de archivos

fuente

Nuxt 3 introduce una estructura de archivos ligeramente modificada. Los mayores cambios se hicieron a `app.vue` - directorio `pages/` es opcional y si no está presente, la aplicación no incluirá un vue-router, que es útil cuando se crea una página de carga o una aplicación que no necesita enrutamiento. 

Ejemplo de archivo app.vue:

Hola a todos.

Para incluir el enrutamiento, las páginas y el diseño, es necesario utilizar componentes incorporados, a saber, `NuxtPage` y `NuxtLayout`. Ejemplo:

<div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;</p>
</div>

`app.vue` es el componente principal de la aplicación Aplicación Nuxtpor lo que todo lo que se añada allí será global y se incluirá en todas las páginas. 

El cambio en el Nuxt implica sustituir el directorio `store/` por `composables/`, ya que Vue 3introduce los componibles, que sustituyen a los almacenes.

Migración de Vue 2 a Vue 3 mediante Nuxt Bridge

Nuxt 3 introduce Nuxt Bridge, una capa de compatibilidad avanzada que actualiza las aplicaciones Nuxt 2 con las funciones de Nuxt 3, permitiendo que se actualice pieza a pieza. Proporciona acceso a características como: Motor Nitro, API de composición y nueva CLI, simplemente instalando y activando el puente.

Nuxt Bridge es compatible con versiones anteriores, por lo que los plugins y módulos heredados seguirán funcionando, mientras que la migración es fácil y posible sin reescribir toda la aplicación.

Para habilitar Nuxt Bridge, tienes que asegurarte de que el servidor de desarrollo no se está ejecutando, luego eliminar cualquier archivo de bloqueo de paquetes e instalar `nuxt-edge`:

- "nuxt": "^2.15.0"

"nuxt-edge" "latest"

A continuación, vuelva a instalar todas las dependencias:

instalar hilo

Su migración con Nuxt Bridge está terminada.

Otra forma es instalar Nuxt Bridge como dependencia de desarrollo:

yarn add --dev @nuxt/bridge@npm:@nuxt/bridge-edge

Entonces tendrá que actualizar los scripts en `package.json` para tener en cuenta los cambios que el servidor Nitro aporta al proceso de construcción.

bandera de cooperación

Artículos relacionados

Desarrollo de software

Mejora de la aplicación Vue.js. Algunos consejos prácticos

Vue es un framework progresivo de rápido crecimiento para construir interfaces de usuario. Se convirtió en el framework JavaScript con más estrellas en GitHub y el proyecto con más estrellas de 2016....

The Codest
Dominik Grzedzielski Senior Software Engineer
E-commerce

Dilemas de ciberseguridad: Filtraciones de datos

La fiebre prenavideña está en pleno apogeo. En busca de regalos para sus seres queridos, la gente está cada vez más dispuesta a "asaltar" las tiendas en línea

The Codest
Jakub Jakubowicz CTO y Cofundador

Suscríbase a nuestra base de conocimientos y manténgase al día de la experiencia del sector informático.

    Quiénes somos

    The Codest - Empresa internacional de desarrollo de software con centros tecnológicos en Polonia.

    Reino Unido - Sede central

    • Oficina 303B, 182-184 High Street North E6 2JA
      Londres, Inglaterra

    Polonia - Centros tecnológicos locales

    • Parque de oficinas Fabryczna, Aleja
      Pokoju 18, 31-564 Cracovia
    • Embajada del Cerebro, Konstruktorska
      11, 02-673 Varsovia, Polonia

      The Codest

    • Inicio
    • Quiénes somos
    • Servicios
    • Case Studies
    • Saber cómo
    • Carreras profesionales
    • Diccionario

      Servicios

    • Asesoramiento
    • Desarrollo de software
    • Desarrollo backend
    • Desarrollo Frontend
    • Staff Augmentation
    • Desarrolladores de backend
    • Ingenieros de la nube
    • Ingenieros de datos
    • Otros
    • Ingenieros de control de calidad

      Recursos

    • Hechos y mitos sobre la cooperación con un socio externo de desarrollo de software
    • De EE.UU. a Europa: ¿Por qué las startups estadounidenses deciden trasladarse a Europa?
    • Comparación de los polos de desarrollo de Tech Offshore: Tech Offshore Europa (Polonia), ASEAN (Filipinas), Eurasia (Turquía)
    • ¿Cuáles son los principales retos de los CTO y los CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Condiciones de uso del sitio web

    Copyright © 2025 por The Codest. Todos los derechos reservados.

    es_ESSpanish
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean nl_NLDutch etEstonian elGreek es_ESSpanish