如何在 Next.js 中配置 Babel
示例
Next.js 在你的应用程序中包含了 next/babel
预设,其中包含了编译 React 应用程序和服务器端代码所需的一切。但如果你想扩展默认的 Babel 配置,这也是可能的。
添加预设和插件
首先,你只需要在项目根目录中定义一个 .babelrc
文件(或 babel.config.js
)。如果找到这样的文件,它将被视为**真理来源**,因此它也需要定义 Next.js 所需的内容,即 next/babel
预设。
这是一个 .babelrc
文件的示例
.babelrc
{
"presets": ["next/babel"],
"plugins": []
}
你可以查看此文件以了解 next/babel
包含的预设。
要**不配置**添加预设/插件,你可以这样做
.babelrc
{
"presets": ["next/babel"],
"plugins": ["@babel/plugin-proposal-do-expressions"]
}
自定义预设和插件
要**使用自定义配置**添加预设/插件,请在 next/babel
预设上这样做
.babelrc
{
"presets": [
[
"next/babel",
{
"preset-env": {},
"transform-runtime": {},
"styled-jsx": {},
"class-properties": {}
}
]
],
"plugins": []
}
要了解每个配置的可用选项,请访问 babel 的文档网站。
须知:
- Next.js 使用**当前** Node.js 版本进行服务器端编译。
"preset-env"
中的modules
选项应保持为false
,否则 webpack 代码拆分将被禁用。
这有帮助吗?