由于Next.js和Emotion.js的升级,以往的babel配置不再适用于最新版本,如果还使用以前的babel配置则会报下面的错误
错误提示
- React is not defined.
出现上面的错误,并不是没有引入react,而是在项目代码中想要使用emotion等css-in-js库,但是没有进行正确的配置,导致的错误,这个错误很难排查,主要是官方也没有给出解决方案。
解决方案
- 在项目的跟目录下创建.babelrc,并写入下面的代码。
{ "presets": [ [ "next/babel", { "preset-react": { "runtime": "automatic", "importSource": "@emotion/react" } } ] ], "plugins": [ "@emotion/babel-plugin" ] } 复制代码