使用 Turbopack
要使用 Turbopack ,只需在开发命令中添加 --turbopack
标志:
package.json
"scripts": {
- "dev": "next dev"
+ "dev": "next dev --turbopack"
}
Note
如果不使用 --turbopack
标志,Next.js 底层会使用由 JavaScript 编写的 Webpack 。
仅支持可序列化的选项
目前在 nextra
函数中只能传递 JSON 可序列化的值。这意味着在启用 Turbopack 时,你不能传递自定义的 remarkPlugins
、rehypePlugins
或 recmaPlugins
,因为它们是函数。
以下选项只能在不使用 Turbopack 时使用,或者仅在使用 next build
构建应用时使用(因为 Turbopack 目前还不支持 next build
,此时会使用 Webpack)。
next.config.js
import nextra from 'nextra'
const withNextra = nextra({
mdxOptions: {
remarkPlugins: [myRemarkPlugin],
rehypePlugins: [myRehypePlugin],
recmaPlugins: [myRecmaPlugin]
}
})
如果你尝试传递这些选项,你将收到来自 Turbopack 的错误:
Error: loader nextra/loader for match "./{src/app,app}/**/page.{md,mdx}" does not have serializable options.
Ensure that options passed are plain JavaScript objects and values.
Last updated on