修正cloudflare下libsql依赖问题
This commit is contained in:
@@ -34,10 +34,31 @@ const createNextConfig = (phase) => {
|
|||||||
reactStrictMode: false,
|
reactStrictMode: false,
|
||||||
swcMinify: true,
|
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: {
|
experimental: {
|
||||||
instrumentationHook: process.env.NODE_ENV === 'production' && !isEdgeBuild,
|
instrumentationHook: process.env.NODE_ENV === 'production' && !isEdgeBuild,
|
||||||
optimizePackageImports: optimizedPackageImports,
|
optimizePackageImports: optimizedPackageImports,
|
||||||
webpackBuildWorker: !isEdgeBuild,
|
webpackBuildWorker: !isEdgeBuild,
|
||||||
|
// Next 14.2 仍可能读取此字段;与 serverExternalPackages 保持一致
|
||||||
|
serverComponentsExternalPackages: [
|
||||||
|
'@libsql/client',
|
||||||
|
'@libsql/hrana-client',
|
||||||
|
'@libsql/isomorphic-ws',
|
||||||
|
'@libsql/isomorphic-fetch',
|
||||||
|
'libsql',
|
||||||
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
// Uncoment to add domain whitelist
|
// Uncoment to add domain whitelist
|
||||||
|
|||||||
Reference in New Issue
Block a user