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

539
Vistas
¿Cómo integrar sqlite3 en Sveltekit?

He estado usando sqlite3 para la mayoría de mis aplicaciones fullstack (node/express, django/drf + svelte en el front-end como consumidor de los puntos finales de la api) y he estado tratando de averiguar cómo integrar sqlite3.

Aquí esta lo que hice

Supongo que está familiarizado con sveltekit. Para aquellos que son nuevos, pueden ir a ver SvelteKit

  1. Instalé el módulo better-sqlite3
  2. Se creó el archivo database.js dentro de la carpeta src/lib
  3. Se agregó el siguiente código:
 import sqlite from 'better-sqlite3' const DB = new sqlite('./annadb.sqlite') const schema = `CREATE TABLE IF NOT EXISTS posts( id INTEGER NOT NULL PRIMARY KEY, title TEXT NOT NULL )`; DB.exec(schema) export default DB
  1. Creé el punto final index.json.js para obtener todos los artículos de la base de datos dentro de la carpeta src/routes con el siguiente código:
 import DB from '$lib/database.js' export async function get() { const articles = await DB.prepare('SELECT * FROM posts').all() if (articles) { return { body: { articles } } } }
  1. Consumí ese punto final dentro de index.svelte (la página de inicio) así:
 <script context="module"> export async function load({ fetch }) { const res = await fetch(/index.json); if (res.ok) { return { props: { articles: await res.json(), }, }; } return { status: res.status, error: new Error("Could not load"), }; } </script>
  1. Los artículos obtenidos se utilizan de la siguiente manera:
 <script> export let articles; let latestArticles = articles.articles; console.log(articles); </script> <main> {#if latestArticles.length > 0} {#each latestArticles as article} <h2>{article.title}</h2> {/each} {:else} <p>Articles are coming soon</p> {/if} </main>

Eso es todo.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Hasta donde yo sé, better-sqlite3 es una biblioteca síncrona .

Veo que estás usando await con better-sqlite3 . Eliminar await podría resolver su problema.

over 4 years ago · Santiago Trujillo Denunciar
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