如何修改Next Build中的默认Lint检查步骤?
解决Next Build默认Lint复用现有规则的配置方法
问题背景
项目CI流水线中,构建步骤后已有独立的Lint检查,之前为了避免重复检查,在next.config.js中设置了ignoreDuringBuilds: true跳过Next Build的默认Lint。现在希望让Next Build的默认Lint直接复用现有Lint规则,让错误在构建阶段就暴露,无需等到后续CI步骤。
核心解决方案
Next.js的next build默认Lint会自动读取项目根目录的ESLint配置文件(比如你的.eslintrc.js),不需要在next.config.js的eslint对象里定义具体规则。只需要调整以下配置:
关闭构建时忽略Lint的设置
修改next.config.js中的eslint配置,将ignoreDuringBuilds设为false(或者直接删除该配置,因为默认值就是false):module.exports = { "output": 'standalone', "reactStrictMode": true, "compiler": { "styledComponents": true, }, "eslint": { "ignoreDuringBuilds": false, // 关闭忽略,让next build时自动执行Lint }, async rewrites() { return rewrites; }, async headers() { return [ { "source": '/service-information', "headers": [ { "key": 'content-type', "value": 'application/json', }, ], }, { "source": '/health', "headers": [ { "key": 'content-type', "value": 'application/json', }, ], }, ]; }, webpack: (config) => { config.resolve.fallback = { "fs": false, "net": false, "tls": false }; return config; }, };确保现有ESLint配置正确生效
你的.eslintrc.js已经包含了plugin:@next/next/recommended,并且自定义了规则,Next Build的Lint会自动复用这些配置,无需额外修改。如果需要调整规则或检查范围,直接在.eslintrc.js中修改即可:- 通过
rules字段自定义全局规则 - 通过
overrides字段针对特定文件(比如cypress脚本)设置差异化规则 - 通过
ignorePatterns字段添加需要忽略的文件/目录
- 通过
关键说明
next.config.js中的eslint配置项主要用于控制Lint的执行行为,而非定义具体规则:
ignoreDuringBuilds:控制构建时是否跳过Lint(默认值为false)dirs:指定要检查的目录(默认是['pages', 'components', 'app'])ignorePatterns:额外添加需要忽略的路径(会与ESLint配置里的忽略规则合并)
内容的提问来源于stack exchange,提问作者sparky2592
相关产品推荐
相关产品推荐

