Base Nuxt layer with shared utilities, components, and configurations for building modern web applications.
npm install @studio-fes/layer-baseBase Nuxt layer with shared utilities, components, and configurations for building modern web applications.
``bash`
npm install @studio-fes/layer-base
Extend this layer in your nuxt.config.ts:
`typescript`
export default defineNuxtConfig({
extends: ['@studio-fes/layer-base']
})
####
Optimized image component with lazy loading support.
`vue`
####
Text component with interpolation support.
`vue`
#### useGSAP()
GSAP animation utilities with custom easings.
`typescript
const { gsap } = useGSAP()
gsap.to(element, { duration: 1, x: 100 })
`
#### useLockBody()
Lock/unlock body scroll (useful for modals).
`typescript
const { lock, unlock } = useLockBody()
onMounted(() => lock())
onUnmounted(() => unlock())
`
Custom GSAP easings and utility functions are available in utils/.
The layer provides sensible defaults in nuxt.config.ts:
`typescript`
{
modules: [
'@unocss/nuxt',
'gsap-nuxt-module',
'@nuxt/image',
'@nuxt/fonts',
'@nuxt/scripts',
'@unlazy/nuxt',
'@vueuse/nuxt',
],
runtimeConfig: {
public: {
baseUrl: 'http://localhost:3000',
imageDomain: '',
imageProvider: ''
}
}
}
`bashInstall dependencies
pnpm install
Extending
Create a new layer that extends this one:
`typescript
// nuxt.config.ts
export default defineNuxtConfig({
extends: ['@studio-fes/layer-base'],
// Your custom configuration
})
``MIT