无法加载配置"next/babel"以从 eslintrc.json 扩展



当我试图构建Next时。Js应用程序,那么下面的错误是伴随着一个成功的构建而来的。当我在Vercel中部署应用程序时,会显示此错误。

error - ESLint: Failed to load config "next/babel" to extend from. Referenced from: /vercel/path0/.eslintrc.json

这是我的.eslintrc.json

{
"extends": ["next/babel","next/core-web-vitals"]
}

我还添加了.babelrc

{
"presets": ["next/babel"],
"plugins": []
}

当我更改eslintrc.json文件时,我还找到了一个解决方案,如下所示:

{
"extends": ["next","next/core-web-vitals"]
}

则在构建应用程序时不会显示任何错误。但当我使用上述解决方案时,还有另一个问题显示出来,问题是:

Parsing error: Cannot find module 'next/babel'

这显示在所有带有红色标记的进口中。

我试图搜索解决方案,但没有找到任何解决方案。

我认为,这可能与这个奇怪的破解有关,它在很多地方被宣传,出于某种原因告诉您将next/babel放在eslint配置文件中(例如这里(。

这可能是旧next.js版本中一个旧错误的破解。但(至少(到2022年夏天,考虑到next/babel是一个babel预设,而不是esint预设,这样做没有什么意义。相反,在最近的next.js版本中,只需重置.eslintrc.json:

{
"extends": [
"next"
]
}

有了这个设置,事情就不会出错,从next@12.2.*开始。

您可能还想看看接下来的eslint自定义选项。例如,有些人可能会混淆为什么eslint似乎不起作用。在这种情况下,请考虑这个解决方案和eslint上的next.js文档。

如果你有这个问题,但你没有从interwebz复制+粘贴你的.eslintrc.json,那么你可能需要更详细地描述你的情况。

使用pnpm的相同Turborepo问题。这为我解决了问题:https://github.com/vercel/next.js/issues/40687#issuecomment-1275184829

基本上将其添加到您的设置中。json

// .vscode/settings.json
{
"eslint.workingDirectories": [
{ "pattern": "apps/*/" },
{ "pattern": "packages/*/" }
]
}

或者只需将"next""next/core-web-vitals"替换为"plugin:@next/next/recommended"

https://nextjs.org/docs/basic-features/eslint

这个代码解决了我的问题。只需将其复制并粘贴到eslintrc.json文件中即可。
{
"extends": ["next/babel","next/core-web-vitals"]
}

我在使用TurboRepo的with-tailwind示例时遇到了这个问题。

不知怎么的,ESlint工作得很好,但出现了这个错误。我通过将next作为对eslint-custom-config的开发依赖项添加到包中来解决这个问题:

pnpm install next@latest -D
{
"name": "eslint-config-custom",
"version": "0.0.0",
"license": "MIT",
"main": "index.js",
"dependencies": {
...
},
"devDependencies": {
"next": "^13.2.4"
},
"publishConfig": {
"access": "public"
}
}

我在使用TurboRepo时遇到了这个问题。对我来说,解决方案是在单回购的根中添加next作为devDependency

最新更新