[英]NEXT.JS: Deployment build failed because of next lint
我正在嘗試使用 Vercel 部署我的 git 存儲庫。 但是我的部署總是因為用於測試的文件中的 lint 錯誤而失敗。
Vercel 文檔說:
默認情況下,Next.js 將為 pages/、components/、lib/ 和 src/ 目錄中的所有文件運行 ESLint。 Vercel 文檔鏈接
所以我將我的_tests
文件夾移出我的components
文件夾,這有助於本地下一個 linter 運行npm run lint
現在運行沒有任何錯誤,如果我是正確的,這應該反映 Vercel 部署構建的 linter。
我的棉絨設置如下:
{
"extends": "next/core-web-vitals"
}
但是當推送到主分支並部署到 vercel 時,linter 仍然在_test
文件夾中的文件上出錯。
文件夾結構
_tests // Here I moved my components and tests I don't want to have errors with as they're unfinished or only tests
.next
components
lib
node_modules
pages
....
本地和 Vercel 上的 lint 進程不應該相同嗎?如果不是,我如何才能像部署構建步驟那樣在本地進行測試? 我錯過了什么? 我查看了所有關於 eslint 的文檔。
首先,我建議您即使在測試中也不要忽視 lint 問題,因為測試是應用程序的一部分。 因此,理想的世界解決方案是解決所有這些 lint 問題並感到高興。
但是如果你仍然想排除一些代碼被檢查,你可以使用ESLint ignorePatterns 。 配置.eslintrc.json
可能如下所示:
{
"extends": "next/core-web-vitals",
"ignorePatterns": [
"_test/**"
]
}
或者你可以編寫包含以下內容的.eslintignore
文件:
_test/
另一種可能的解決方案是next build
命令中關閉 Linter (默認情況下Vercel 使用此命令構建您的應用程序)。 為此,您需要將其添加到您的next.config.js
:
const nextConfig = {
...
eslint: {
ignoreDuringBuilds: false,
},
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.