serverComponentsExternalPackages
在伺服器元件 (Server Components) 和路由處理器 (Route Handlers) 中使用的依賴項,會由 Next.js 自動打包。
若某個依賴項使用了 Node.js 的特定功能,您可以選擇將特定依賴項排除於伺服器元件打包流程外,並使用原生 Node.js 的 require
。
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ['@acme/ui'],
},
}
module.exports = nextConfig
Next.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/core
argon2
autoprefixer
aws-crt
bcrypt
better-sqlite3
canvas
cpu-features
cypress
eslint
express
firebase-admin
jest
jsdom
libsql
mdx-bundler
mongodb
mongoose
next-mdx-remote
next-seo
node-pty
node-web-audio-api
pg
playwright
postcss
prettier
prisma
puppeteer-core
puppeteer
rimraf
sharp
shiki
sqlite3
tailwindcss
ts-node
typescript
vscode-oniguruma
webpack
websocket
zeromq