Menu

serverExternalPackages

服务器组件路由处理程序中使用的依赖项会被 Next.js 自动打包。

如果某个依赖项使用了 Node.js 特有的功能,你可以选择将特定依赖从服务器组件打包中排除,转而使用原生 Node.js 的 require

next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
  serverExternalPackages: ['@acme/ui'],
}
 
module.exports = nextConfig

Next.js 包含了一个常用包的简短列表,这些包目前正在进行兼容性适配,并被自动排除在外:

  • @appsignal/nodejs
  • @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
  • @node-rs/argon2
  • @node-rs/bcrypt
  • @prisma/client
  • @react-pdf/renderer
  • @sentry/profiling-node
  • @sparticuz/chromium
  • @swc/core
  • argon2
  • autoprefixer
  • aws-crt
  • bcrypt
  • better-sqlite3
  • canvas
  • cpu-features
  • cypress
  • dd-trace
  • eslint
  • express
  • firebase-admin
  • import-in-the-middle
  • isolated-vm
  • jest
  • jsdom
  • keyv
  • libsql
  • mdx-bundler
  • mongodb
  • mongoose
  • newrelic
  • next-mdx-remote
  • next-seo
  • node-cron
  • node-pty
  • node-web-audio-api
  • oslo
  • pg
  • playwright
  • playwright-core
  • postcss
  • prettier
  • prisma
  • puppeteer-core
  • puppeteer
  • require-in-the-middle
  • rimraf
  • sharp
  • shiki
  • sqlite3
  • ts-node
  • ts-morph
  • typescript
  • vscode-oniguruma
  • webpack
  • websocket
  • zeromq
版本变更
v15.0.0从实验性功能转为稳定功能。从 serverComponentsExternalPackages 重命名为 serverExternalPackages