diff --git a/next.config.js b/next.config.js index 6b466d5..d4c0658 100644 --- a/next.config.js +++ b/next.config.js @@ -104,6 +104,9 @@ const createNextConfig = (phase) => { 'redis', '@vercel/postgres', 'pg', + 'libsql', + '@libsql/isomorphic-fetch', + '@libsql/isomorphic-ws', ].map((pkg) => [ pkg, path.resolve( diff --git a/scripts/init-turso.js b/scripts/init-turso.js index 6552136..84e68f3 100644 --- a/scripts/init-turso.js +++ b/scripts/init-turso.js @@ -14,7 +14,7 @@ * 3. 运行:node scripts/init-turso.js */ -const { createClient } = require('@libsql/client'); +const { createClient } = require('@libsql/client/http'); const fs = require('fs'); const path = require('path'); const crypto = require('crypto'); diff --git a/src/lib/turso-adapter.ts b/src/lib/turso-adapter.ts index 5aeb7f3..d2cedda 100644 --- a/src/lib/turso-adapter.ts +++ b/src/lib/turso-adapter.ts @@ -18,9 +18,12 @@ import { DatabaseAdapter, D1PreparedStatement, D1Result } from './d1-adapter'; * * 使用 require 而非 import,避免 webpack 在 EdgeOne 构建中 * 因条件导出 (edge-light) 错误解析 ESM 模块 + * + * 使用 @libsql/client/http 子路径而非主入口,避免拉入原生 libsql + * 模块和 isomorphic-ws/isomorphic-fetch 等不兼容边缘环境的依赖 */ function getLibsqlClient(): any { - const mod = require('@libsql/client'); + const mod = require('@libsql/client/http'); return mod.createClient || mod.default?.createClient; }