与 Turbopack 一起使用
要使用 Turbopack ,只需
在开发命令中追加 --turbopack 标志:
package.json
"scripts": {
- "dev": "next dev"
+ "dev": "next dev --turbopack"
}Note
没有 --turbopack 标志时,Next.js 在底层使用
Webpack ,它是用 JavaScript 编写的。
仅支持可序列化选项
目前,在 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