在 Server Components 和 Route Handlers 中使用的依赖会自动被 Next.js 打包。
如果某个依赖使用了 Node.js 特定的特性,你可以选择从 Server Components 打包中排除特定的依赖,并使用原生的 Node.js require。
js
/** @type {import('next').NextConfig} */
const nextConfig = {
serverExternalPackages: ['@acme/ui'],
}
module.exports = nextConfigNext.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@swc/coreargon2autoprefixeraws-crtbcryptbetter-sqlite3canvascpu-featurescypresseslintexpressfirebase-adminisolated-vmjestjsdomlibsqlmdx-bundlermongodbmongoosenext-mdx-remotenext-seonode-ptynode-web-audio-apioslopgplaywrightpostcssprettierprismapuppeteer-corepuppeteerrimrafsharpshikisqlite3tailwindcssts-nodetypescriptvscode-onigurumaundiciwebpackwebsocketzeromq