移除serverExternalPackages
This commit is contained in:
@@ -17,45 +17,8 @@ const optimizedPackageImports = [
|
|||||||
'react-icons',
|
'react-icons',
|
||||||
];
|
];
|
||||||
|
|
||||||
const serverExternalPackages = [
|
|
||||||
'@upstash/redis',
|
|
||||||
// @upstash/redis depends on uncrypto, whose package exports include a
|
|
||||||
// workerd condition. OpenNext needs it traced as a full external package,
|
|
||||||
// otherwise .open-next may contain package.json without dist/crypto.web.mjs.
|
|
||||||
'uncrypto',
|
|
||||||
'@vercel/postgres',
|
|
||||||
'better-sqlite3',
|
|
||||||
'cheerio',
|
|
||||||
'nodemailer',
|
|
||||||
'pg',
|
|
||||||
'redis',
|
|
||||||
'socket.io',
|
|
||||||
'xml2js',
|
|
||||||
'xpath',
|
|
||||||
];
|
|
||||||
|
|
||||||
// 仅在开发环境或 Cloudflare 环境下排除 6b85c446 和 706b2fe 引入的 external 包;
|
|
||||||
// 其它未来加入的 server external 包不受影响。
|
|
||||||
const buildExcludedServerExternalPackages = [
|
|
||||||
'@upstash/redis',
|
|
||||||
'uncrypto',
|
|
||||||
'@vercel/postgres',
|
|
||||||
'better-sqlite3',
|
|
||||||
'cheerio',
|
|
||||||
'nodemailer',
|
|
||||||
'pg',
|
|
||||||
'redis',
|
|
||||||
'socket.io',
|
|
||||||
'xml2js',
|
|
||||||
'xpath',
|
|
||||||
];
|
|
||||||
|
|
||||||
const createNextConfig = (phase) => {
|
const createNextConfig = (phase) => {
|
||||||
const isDevelopment = phase === PHASE_DEVELOPMENT_SERVER || process.env.NODE_ENV === 'development';
|
const isDevelopment = phase === PHASE_DEVELOPMENT_SERVER || process.env.NODE_ENV === 'development';
|
||||||
const effectiveServerExternalPackages =
|
|
||||||
isDevelopment || isCloudflare
|
|
||||||
? serverExternalPackages.filter((pkg) => !buildExcludedServerExternalPackages.includes(pkg))
|
|
||||||
: serverExternalPackages;
|
|
||||||
|
|
||||||
const nextConfig = {
|
const nextConfig = {
|
||||||
// Cloudflare Pages 不支持 standalone,使用默认输出
|
// Cloudflare Pages 不支持 standalone,使用默认输出
|
||||||
@@ -72,9 +35,6 @@ const createNextConfig = (phase) => {
|
|||||||
experimental: {
|
experimental: {
|
||||||
instrumentationHook: process.env.NODE_ENV === 'production' && !isCloudflare,
|
instrumentationHook: process.env.NODE_ENV === 'production' && !isCloudflare,
|
||||||
optimizePackageImports: optimizedPackageImports,
|
optimizePackageImports: optimizedPackageImports,
|
||||||
...(effectiveServerExternalPackages.length
|
|
||||||
? { serverComponentsExternalPackages: effectiveServerExternalPackages }
|
|
||||||
: {}),
|
|
||||||
webpackBuildWorker: !isCloudflare,
|
webpackBuildWorker: !isCloudflare,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user