Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

383
Vistas
Lowdb (base de datos json) con Next.js a través de Netlify devuelve el error interno del servidor 500 en la ruta API, funciona localmente

Tengo una configuración de base de datos de archivo plano JSON realmente simple que funciona cuando se ejecuta localmente pero no funciona una vez que está alojado en Netlify. No recibo ninguna otra información de error además de un error 500 en el servidor. Recibo el error incluso si todo lo que hago es importar el objeto clusterDB , por lo que algo sucede con el objeto lowdb. También intenté usar otra biblioteca json db llamada StormDB y tengo el mismo problema.

Devolver mi ruta API con una importación estática del archivo json (sin bibliotecas db) también funciona bien.

Soy nuevo en Next.js y esto parece estar relacionado con la parte de SSR, ya que las rutas API se ejecutan solo en el servidor. ¿Necesito estructurar mis archivos de manera diferente? ¿Estas bibliotecas no son compatibles? Lowdb dice que funciona con Node, y todo funciona localmente para mí.

Aquí está mi archivo de inicio de db (root/db/db.js)

 import {Low, JSONFileSync} from 'lowdb' // Cluster DB Setup const adapter = new JSONFileSync('cluster-db.json') const clusterDB = new Low(adapter) // Initialize if empty clusterDB.read() clusterDB.data ||= { clusters: [] } clusterDB.write() export {clusterDB}

Y mi única ruta API (root/pages/api/clusters.js)

 import {clusterDB} from '../../db/db' export default async function handler(req, res) { await clusterDB.read() switch(req.method) { case 'POST': let newCluster = {severity: req.query.severity, comments: req.query.comments, date: req.query.date} clusterDB.data.clusters.push(newCluster) clusterDB.write() res.status(200).json({status: "Success", cluster: newCluster}) break; case 'GET': if(clusterDB.data.clusters) { res.status(200).json(clusterDB.data.clusters) } else { res.status(404).json({status: "404"}) } break; } res.status(200).json({test: "yay"}) }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda