Files
wondif_vue/nuxt.config.js
2026-02-06 20:20:01 +01:00

96 lines
2.0 KiB
JavaScript

// https://nuxt.com/docs/api/configuration/nuxt-config
import { fileURLToPath, URL } from 'node:url'
export default defineNuxtConfig({
compatibilityDate: '2025-07-15',
devtools: {
enabled: false
},
typescript: {
strict: false,
typeCheck: false
},
app: {
pageTransition: {
name: 'page',
mode: 'out-in'
},
},
// Auto-import des composants du dossier app/ sans prefixe de chemin
components: [
{ path: '~/components', pathPrefix: false }
],
// un chemin avec root pour aller chercher les fichiers qui ne sont pas dans app mais à la racine avec un @
vite: {
resolve: {
alias: {
'@root': fileURLToPath(new URL('./', import.meta.url))
}
}
},
//une barre fine en haut de la page lors des chargements
loadingIndicator: {
color: '#dd1e1eff',
background: '#fff',
height: '20px'
},
css: ['@/assets/scss/main.scss'],
runtimeConfig: {
// Server-side only (jamais exposé au client)
strapiToken: process.env.STRAPI_API_TOKEN || '',
instagramAppId: process.env.NUXT_INSTAGRAM_APP_ID,
instagramClientToken: process.env.NUXT_INSTAGRAM_CLIENT_TOKEN,
// 🌍 Public (accessible dans le navigateur)
public: {
strapiUrl: process.env.NUXT_PUBLIC_STRAPI_URL || 'http://localhost:1337',
},
},
//configuration du module @nuxt/image
image: {
// Domaine de tes images Strapi / OVH
domains: [
'media.orchestre-ile.com' // passe par le reverse proxy plus tard
],
quality: 80,
format: ['webp', 'avif', 'jpeg', 'jpg', 'png', 'gif' ],
screens: {
xs: 320,
sm: 640,
md: 768,
lg: 1024,
xl: 1280,
xxl: 1536,
'2xl': 1536
},
presets: {
full: {
modifiers: {
fit: 'cover',
}
},
avatar: {
modifiers: {
fit: 'cover',
format: 'jpg',
width: 50,
height: 50
}
}
},
densities: [1, 2],
},
modules: ['@nuxt/image'],
})