dml_frontend/nuxt.config.ts
2025-05-19 21:36:21 +02:00

162 lines
3.6 KiB
TypeScript

import { defineNuxtConfig } from 'nuxt/config'
export default defineNuxtConfig({
app: {
head: {
title: 'digimedialoop',
htmlAttrs: {
lang: 'de',
},
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
],
charset: 'utf-16',
viewport: 'width=device-width, initial-scale=1, maximum-scale=1',
}
},
compatibilityDate: '2024-11-01',
devtools: { enabled: true },
vite: {
css: {
preprocessorOptions: {
sass: {
additionalData: `
@use "~/assets/styles/bootstrap.sass" as *\n
@use "~/assets/styles/main.sass" as *\n
`
}
}
}
},
modules: [
'@nuxt/image',
'@nuxt/eslint',
'@nuxt/scripts',
'@nuxt/ui',
'@pinia/nuxt',
'@nuxtjs/i18n',
['@pinia/nuxt', {
autoImports: [
'defineStore',
'storeToRefs',
['defineStore', 'definePiniaStore']
]
}],
],
image: {
debug: true,
strapi: {
baseURL: 'https://strapi.digimedialoop.de'
},
domains: ['strapi.digimedialoop.de'],
format: ['webp'],
quality: 80
},
runtimeConfig: {
public: {
cmsBaseUrl: process.env.CMS_URL,
cmsToken: process.env.CMS_TOKEN
}
},
components: [
{ path: '~/components', pathPrefix: false },
{ path: '~/components/template', pathPrefix: false }
],
i18n: {
defaultLocale: 'de',
strategy: 'prefix_except_default',
locales: [
{ code: 'de', name: 'Deutsch', file: 'de.json' },
{ code: 'en', name: 'English', file: 'en.json' },
{ code: 'es', name: 'Español', file: 'es.json' },
{ code: 'fr', name: 'Français', file: 'fr.json' },
{ code: 'it', name: 'Italiano', file: 'it.json' },
{ code: 'tr', name: 'Türkçe', file: 'tr.json' }
],
customRoutes: 'config',
pages: {
index: {
de: '/',
en: '/home',
fr: '/accueil',
it: '/home',
es: '/inicio',
tr: '/anasayfa'
},
webagency: {
de: '/webagentur',
en: '/webagency',
fr: '/agence-web',
it: '/agenzia-web',
es: '/agencia-web',
tr: '/web-ajansi'
},
services: {
de: '/leistungen',
en: '/services',
fr: '/services',
it: '/servizi',
es: '/servicios',
tr: '/hizmetler'
},
references: {
de: '/referenzen',
en: '/references',
fr: '/références',
it: '/referenze',
es: '/referencias',
tr: '/referanslar'
},
imprint: {
de: '/impressum',
en: '/imprint',
fr: '/mentions-legales',
it: '/note-legali',
es: '/aviso-legal',
tr: '/künye'
},
privacy: {
de: '/datenschutz',
en: '/privacy',
fr: '/confidentialite',
it: '/privacy',
es: '/privacidad',
tr: '/gizlilik'
},
terms: {
de: '/agb',
en: '/terms',
fr: '/conditions',
it: '/termini',
es: '/condiciones',
tr: '/kosullar'
},
magazin: {
de: '/wissenswertes',
en: '/magazine',
fr: '/magazine',
it: '/magazine',
es: '/revista',
tr: '/dergi'
}
},
bundle: {
optimizeTranslationDirective: false
}
},
pinia: {
autoImports: [
'defineStore',
['defineStore', 'definePiniaStore'],
'storeToRefs'
]
},
nitro: {
prerender: {
crawlLinks: true,
failOnError: false,
//routes: ['/', '/webagency'] // Wichtige Routen vorrendern , '/impressum', '/datenschutz'
}
}
})