From b21e7d95499c91c852b7869088b1973c1194a42b Mon Sep 17 00:00:00 2001 From: mtvpls <247332661+mtvpls@users.noreply.github.com> Date: Tue, 21 Jul 2026 23:28:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3cloudflare=E4=B8=8Blibsql?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- next.config.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/next.config.js b/next.config.js index d4c0658..56267ec 100644 --- a/next.config.js +++ b/next.config.js @@ -34,10 +34,31 @@ const createNextConfig = (phase) => { reactStrictMode: false, swcMinify: true, + // OpenNext/esbuild 使用 workerd condition 解析依赖。 + // @libsql/* 等包有 workerd 专用入口(如 web.cjs),Next NFT 默认只追踪 node 入口, + // 导致 .open-next 里缺少 web.cjs 并报 Could not resolve "@libsql/isomorphic-ws"。 + // 声明为 server external 后,OpenNext 会完整拷贝这些包并应用 workerd 导出。 + // 参见: https://opennext.js.org/cloudflare/howtos/workerd + serverExternalPackages: [ + '@libsql/client', + '@libsql/hrana-client', + '@libsql/isomorphic-ws', + '@libsql/isomorphic-fetch', + 'libsql', + ], + experimental: { instrumentationHook: process.env.NODE_ENV === 'production' && !isEdgeBuild, optimizePackageImports: optimizedPackageImports, webpackBuildWorker: !isEdgeBuild, + // Next 14.2 仍可能读取此字段;与 serverExternalPackages 保持一致 + serverComponentsExternalPackages: [ + '@libsql/client', + '@libsql/hrana-client', + '@libsql/isomorphic-ws', + '@libsql/isomorphic-fetch', + 'libsql', + ], }, // Uncoment to add domain whitelist