serverComponentsExternalPackages
在伺服器元件 (Server Components) 和路由處理器 (Route Handlers) 中使用的依賴項,會由 Next.js 自動打包。
若某個依賴項使用了 Node.js 的特定功能,您可以選擇將特定依賴項排除於伺服器元件打包流程外,並使用原生 Node.js 的 require。
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ['@acme/ui'],
},
}
module.exports = nextConfigNext.js 內建了一份常用套件清單,這些套件目前正進行相容性處理並會自動排除:
@aws-sdk/client-s3@aws-sdk/s3-presigned-post@blockfrost/blockfrost-js@highlight-run/node@jpg-store/lucid-cardano@libsql/client@mikro-orm/core@mikro-orm/knex@prisma/client@react-pdf/renderer@sentry/profiling-node@swc/coreargon2autoprefixeraws-crtbcryptbetter-sqlite3canvascpu-featurescypresseslintexpressfirebase-adminjestjsdomlibsqlmdx-bundlermongodbmongoosenext-mdx-remotenext-seonode-ptynode-web-audio-apipgplaywrightpostcssprettierprismapuppeteer-corepuppeteerrimrafsharpshikisqlite3tailwindcssts-nodetypescriptvscode-onigurumawebpackwebsocketzeromq