fix(chatbot-taff): useStorage('assets:taff') — lecture JSON native Nitro
- nuxt.config.ts: nitro.serverAssets pointe sur public/data/ - chatbot-taff: useStorage remplace readFileSync et $fetch (fonctionne dev + prod sans dépendance filesystem ni réseau) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -28,6 +28,12 @@ export default defineNuxtConfig({
|
||||
// Leaflet ne fonctionne pas en SSR — forcer le rendu côté client
|
||||
ssr: true,
|
||||
|
||||
nitro: {
|
||||
serverAssets: [
|
||||
{ baseName: 'taff', dir: './public/data' },
|
||||
],
|
||||
},
|
||||
|
||||
vite: {
|
||||
cacheDir: 'C:/Users/jules/AppData/Local/nav-carte-vite-cache',
|
||||
optimizeDeps: {
|
||||
|
||||
@@ -65,14 +65,12 @@ export default defineEventHandler(async (event) => {
|
||||
throw createError({ statusCode: 400, statusMessage: 'Question trop courte.' })
|
||||
}
|
||||
|
||||
// Lire le JSON statique des plateformes (servi en public par Nitro)
|
||||
// Lire le JSON via Nitro serverAssets (bundelé avec le serveur, dev + prod)
|
||||
let plateformes: PlateformeMinimal[] = []
|
||||
try {
|
||||
const origin = getRequestURL(event).origin
|
||||
const json = await $fetch<{ plateformes: PlateformeMinimal[] }>('/data/plateformes-taff.json', {
|
||||
baseURL: origin,
|
||||
})
|
||||
plateformes = (json.plateformes ?? []).map((p: any) => ({
|
||||
const raw = await useStorage('assets:taff').getItem('plateformes-taff.json') as { plateformes: PlateformeMinimal[] } | null
|
||||
if (!raw) throw new Error('null')
|
||||
plateformes = (raw.plateformes ?? []).map((p: any) => ({
|
||||
id: p.id,
|
||||
nom: p.nom,
|
||||
type: p.type,
|
||||
|
||||
Reference in New Issue
Block a user