nuxt-viewport
[![versión npm][npm-version-src]][npm-version-href] [![descargas npm][npm-downloads-src]][npm-downloads-href] [![Licencia][license-src]][license-href]
Define puntos de vista personalizados para tu proyecto Nuxt️
Características
- ⚡️ Rápido y ligero con MatchMedia API ⚡️
- 🕶 Detecta automáticamente el viewport del dispositivo desde Cookie y User-Agent
- 👌 Sin configuración para empezar
- 👴️ Compatible con IE9+
Esta versión es solo para Nuxt 3+ y Nuxt Bridge. Para Nuxt 2 ver 1.0.1
Configuración rápida
- Añade la dependencia
nuxt-viewporta tu proyecto
npx nuxi@latest module add nuxt-viewport- Añade
nuxt-viewporta la secciónmodulesdenuxt.config.js
{
modules: [
[
'nuxt-viewport', {
/ Viewport options /
}
],
]
}usando opciones de nivel superior
{
modules: [
'nuxt-viewport',
], viewport: {
/ Viewport options /
},
}
Uso
Should render only on mobile
Current breakpoint: {{ $viewport.breakpoint }}
Uso con composable
Should render only on mobile
Current breakpoint: {{ viewport.breakpoint }}
Uso con "@nuxt/bridge"
Should render only on mobile
Current breakpoint: {{ $viewport.breakpoint }}
Configuración
breakpoints
- Tipo: Objeto
cookie
- Tipo: Objeto
defaultBreakpoints
- Tipo: Objeto
- Dispositivos detectables:
bot,desktop,mobile,tablet,tv
fallbackBreakpoint
- Tipo: Cadena
- Predeterminado:
viewport
feature
- Tipo:
'minWidth' | 'maxWidth' - Predeterminado:
'minWidth'
Configuración predeterminada
{
// ...
viewport: {
breakpoints: {
desktop: 1024,
desktopMedium: 1280,
desktopWide: 1600, mobile: 320,
mobileMedium: 375,
mobileWide: 425,
tablet: 768,
},
cookie: {
expires: 365, // 365 days
name: 'viewport',
path: '/',
sameSite: 'Strict',
secure: true,
},
defaultBreakpoints: {
desktop: 'desktop',
mobile: 'mobile',
tablet: 'tablet',
},
fallbackBreakpoint: 'desktop',
feature: 'minWidth',
},
// ...
}
Ejemplo de configuración para Tailwind CSS
{
// ...
viewport: {
breakpoints: {
xs: 320,
sm: 640,
md: 768,
lg: 1024,
xl: 1280,
'2xl': 1536,
}, defaultBreakpoints: {
desktop: 'lg',
mobile: 'xs',
tablet: 'md',
},
fallbackBreakpoint: 'lg'
},
// ...
}
Configuración por página
Puedes sobrescribir la configuración global para páginas específicas usandodefinePageMeta.
API
viewport.breakpoint
- Tipo: Cadena
viewport.breakpointValue
- Tipo: Número
// Example using defaults.viewport.breakpointValue('desktop') // Result: 1024.
viewport.breakpointValue('tablet') // Result: 768.
viewport.breakpointValue('mobile') // Result: 320.
viewport.isGreaterThan
- Tipo: Booleano
// Example: viewport.breakpoint is "mobile".viewport.isGreaterThan('mobile') // Result: false.
viewport.isGreaterThan('desktop') // Result: false.
viewport.isGreaterOrEquals
- Tipo: Booleano
// Example: viewport.breakpoint is "mobile".viewport.isGreaterOrEquals('mobile') // Result: true.
viewport.isGreaterOrEquals('desktop') // Result: false.
viewport.isLessThan
- Tipo: Booleano
// Example: viewport.breakpoint is "desktop".viewport.isLessThan('desktopWide') // Result: true.
viewport.isLessThan('mobile') // Result: false.
viewport.isLessOrEquals
- Tipo: Booleano
// Example: viewport.breakpoint is "tablet".viewport.isLessOrEquals('tablet') // Result: true.
viewport.isLessOrEquals('mobile') // Result: false.
viewport.match
- Tipo: Booleano
// Example: viewport.breakpoint is "tablet".viewport.match('tablet') // Result: true.
viewport.match('desktop') // Result: false.
viewport.matches
- Tipo: Booleano
// Example: viewport.breakpoint is "mobileWide".viewport.matches('tablet', 'mobileWide') // Result: true.
viewport.matches('mobile', 'tablet') // Result: false.
viewport.queries
- Tipo: Objeto
Contribuir
Puedes contribuir a este módulo en línea con CodeSandBox:
O localmente:
- Clona este repositorio
- Instala las dependencias usando
yarn installonpm install - Inicia el servidor de desarrollo usando
yarn devonpm run dev
Licencia
Copyright (c) mvrlin mvrlin@pm.me
[npm-version-src]: https://img.shields.io/npm/v/nuxt-viewport/latest.svg?style=for-the-badge [npm-version-href]: https://npmjs.com/package/nuxt-viewport
[npm-downloads-src]: https://img.shields.io/npm/dt/nuxt-viewport.svg?style=for-the-badge [npm-downloads-href]: https://npmjs.com/package/nuxt-viewport
[license-src]: https://img.shields.io/npm/l/nuxt-viewport.svg?style=for-the-badge [license-href]: https://npmjs.com/package/nuxt-viewport
--- Tranlated By Open Ai Tx | Last indexed: 2025-12-15 ---