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
database.js dentro de la carpeta src/lib 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 DBindex.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 } } } } <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> <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.
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.