Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

379
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!