nextjs16配置eslint+prettier
ESLint Prettier 配合ESLint 负责“代码正确性和潜在错误”Prettier 负责“代码格式化”避免 ESLint 因格式化问题报错可以通过eslint-config-prettier或eslint-plugin-prettier配合Next.js 官方推荐Next.js 默认生成的模板就支持 ESLint可以通过--eslint、--tailwind等选项快速生成保持代码质量和团队统一风格一、首先创建一个nextjs项目pnpm create next-applatest nextjs-template --yes --src-dir这里两个参数的作用分别是--yes--yes 使用保存的偏好设置或默认值来跳过提示。默认设置启用 TypeScript、Tailwind CSS、ESLint、App Router 和 Turbopack包含导入别名 /*并包括 AGENTS.md其中引用了 CLAUDE.md以指导编码代理编写最新的 Next.js 代码。--src-dir强制将应用代码放到src/目录下创建完成后目录类似my-app/ ├─ src/ │ ├─ app/ │ │ ├─ layout.tsx │ │ ├─ page.tsx │ │ └─ globals.css │ └─ ... ├─ public/ ├─ package.json ├─ next.config.ts └─ tsconfig.json当然你也可以不加--src-dir不加--src-dir生成的是无src目录工程目前nextjs默认生成的就是无src目录工程。这个根据个人需求和喜好去选择。二、安装prettier相关依赖pnpm add prettier eslint-config-prettier eslint-plugin-prettier prettier-plugin-tailwindcss -D创建.prettierrc文件在根目录下内容有{ importOrder: [ ^(react/(.*)$)|^(react$), ^(next/(.*)$)|^(next$), THIRD_PARTY_MODULES, , ^/(.*)$, ^[./] ], importOrderParserPlugins: [typescript, jsx, decorators-legacy], plugins: [ ianvs/prettier-plugin-sort-imports, prettier-plugin-sort-json, prettier-plugin-tailwindcss ], printWidth: 80, semi: true, singleAttributePerLine: true, singleQuote: true, tabWidth: 2, trailingComma: es5 }这个prettier配置文件里面引用了这两个依赖ianvs/prettier-plugin-sort-imports、prettier-plugin-sort-json因此得去安装pnpm add ianvs/prettier-plugin-sort-imports prettier-plugin-sort-json eslint-plugin-unused-imports -D三、修改或创建eslint配置文件import nextVitals from eslint-config-next/core-web-vitals; import nextTs from eslint-config-next/typescript; import prettierConfig from eslint-config-prettier; import prettierPlugin from eslint-plugin-prettier; import unusedImports from eslint-plugin-unused-imports; import { defineConfig, globalIgnores } from eslint/config; const eslintConfig defineConfig([ ...nextVitals, ...nextTs, globalIgnores([.next/**, out/**, build/**, next-env.d.ts]), prettierConfig, { plugins: { prettier: prettierPlugin, unused-imports: unusedImports, }, rules: { typescript-eslint/no-unused-vars: off, no-unused-vars: off, unused-imports/no-unused-imports: error, unused-imports/no-unused-vars: [ warn, { vars: all, varsIgnorePattern: ^_, args: after-used, argsIgnorePattern: ^_, }, ], prettier/prettier: error, }, }, ]); export default eslintConfig;四、修改package.json命令行scripts: { lint: eslint ., format: prettier --write . }以上步骤就完成了nextjs的eslint、prettier配置第五步编辑器集成VS Code 党必看在 VS Code 或者cursor中安装插件ESLint✔️Prettier - Code formatter✔️然后再vscode或者cursor的setting.json 当中配置如下{ editor.formatOnSave: true, editor.defaultFormatter: esbenp.prettier-vscode }当然了你也可以在nextjs项目下面创建到.vscode/settings.json进行以上配置最后附上next.config.ts配置import { existsSync, readFileSync } from node:fs; import { resolve } from node:path; import type { NextConfig } from next; function loadEnvFile(appEnv: string) { const envPath resolve(process.cwd(), .env.${appEnv}); if (!existsSync(envPath)) return; for (const line of readFileSync(envPath, utf8).split(\n)) { const trimmed line.trim(); if (!trimmed || trimmed.startsWith(#)) continue; const separatorIndex trimmed.indexOf(); if (separatorIndex -1) continue; const key trimmed.slice(0, separatorIndex).trim(); let value trimmed.slice(separatorIndex 1).trim(); if ( (value.startsWith() value.endsWith()) || (value.startsWith() value.endsWith()) ) { value value.slice(1, -1); } process.env[key] value; } } const appEnv process.env.APP_ENV ?? development; loadEnvFile(appEnv); const apiUrl process.env.NEXT_PUBLIC_API_URL ?? ; console.log( ~ :34 ~ apiUrl:, apiUrl); /** 仅 APP_ENVproduction 视为生产test 构建虽为 NODE_ENVproduction仍保留调试能力 */ const isProductionApp appEnv production; const isVercel Boolean(process.env.VERCEL); /** 与 Next 内置列表合并进一步按需导入子路径见 next/dist/server/config.js */ const optimizePackageImports [ antd, ant-design/icons, tanstack/react-query, dayjs, qrcode.react, ] as const; const nextConfig: NextConfig { /* config options here */ env: { NEXT_PUBLIC_APP_ENV: appEnv, NEXT_PUBLIC_API_URL: apiUrl, }, /** Vercel 原生托管无需 standaloneEC2 / Docker 自建部署时使用 */ ...(isVercel ? {} : { output: standalone as const }), /** 开发 / 测试保留 source map正式生产关闭以减小体积 */ productionBrowserSourceMaps: !isProductionApp, enablePrerenderSourceMaps: !isProductionApp, poweredByHeader: false, compiler: { /** 仅正式生产移除 console开发 / 测试保留调试输出 */ removeConsole: isProductionApp, }, experimental: { optimizePackageImports: [...optimizePackageImports], /** 服务端组件树摇Next 默认开启显式保留 */ optimizeServerReact: true, serverSourceMaps: !isProductionApp, turbopackSourceMaps: !isProductionApp, turbopackInputSourceMaps: !isProductionApp, }, async rewrites() { return [ { source: /api/:path*, destination: ${apiUrl}/:path*, }, ]; }, }; export default nextConfig;

相关新闻

过采样相关知识

过采样相关知识

一:举列子1.1:前提设定ADC:2bit,量程 0~4V原生刻度:0、1、2、3、4V,一格 1V待测电压:2.3V1.2:不过采样(正常单次采样)每次只采 1 个数据 2.3V 离 2V 最近&…

2026/7/4 4:43:22阅读更多 →
Pipeline-雷达及目标参数设置

Pipeline-雷达及目标参数设置

generateParameter.m %% 雷达参数设置 function parameter generateParameter(targetnum) %% % 雷达仿真参数设置,点目标设置 % targetnum : 1-生成点目标,2-生成飞机目标 %% % 定义物理常数与雷达硬件指标 parameter.kB 1.38e-23; …

2026/7/4 4:43:22阅读更多 →
如何轻松下载E-Hentai漫画:开源下载器终极指南

如何轻松下载E-Hentai漫画:开源下载器终极指南

如何轻松下载E-Hentai漫画:开源下载器终极指南 你是否曾经遇到过心仪的E-Hentai漫画想要收藏,却苦于没有足够的网站积分?或者下载过程总是遇到内存不足、文件损坏的烦恼?今天,我要为你介绍一款开源神器——E-Hentai Do…

2026/7/4 4:38:21阅读更多 →
Selenium自动化测试性能优化:5个核心方法提升4倍执行速度

Selenium自动化测试性能优化:5个核心方法提升4倍执行速度

1. 项目概述:为什么你的Selenium脚本跑得慢? 如果你用过Selenium做UI自动化测试,大概率经历过这样的场景:满怀期待地运行脚本,结果浏览器启动慢吞吞,页面加载像蜗牛,元素定位要等半天&#xff0…

2026/7/4 6:03:26阅读更多 →
深入理解Vulkan-Zig的调度表与包装器:高级Vulkan API集成指南

深入理解Vulkan-Zig的调度表与包装器:高级Vulkan API集成指南

深入理解Vulkan-Zig的调度表与包装器:高级Vulkan API集成指南 【免费下载链接】vulkan-zig Vulkan binding generator for Zig 项目地址: https://gitcode.com/gh_mirrors/vu/vulkan-zig Vulkan-Zig是一个功能强大的Vulkan绑定生成器,它为Zig开发…

2026/7/4 6:03:26阅读更多 →
VisTR性能深度测评:ResNet50 vs ResNet101,哪个 backbone 更适合你的视频分割任务?

VisTR性能深度测评:ResNet50 vs ResNet101,哪个 backbone 更适合你的视频分割任务?

VisTR性能深度测评:ResNet50 vs ResNet101,哪个 backbone 更适合你的视频分割任务? 【免费下载链接】VisTR [CVPR2021 Oral] End-to-End Video Instance Segmentation with Transformers 项目地址: https://gitcode.com/gh_mirrors/vi/VisT…

2026/7/4 6:03:26阅读更多 →
Open-Source-Prompt-Library:新手必学的PRD创建模板完全教程

Open-Source-Prompt-Library:新手必学的PRD创建模板完全教程

Open-Source-Prompt-Library:新手必学的PRD创建模板完全教程 【免费下载链接】Open-Source-Prompt-Library User-Centered Product Development Prompt Templates 项目地址: https://gitcode.com/gh_mirrors/op/Open-Source-Prompt-Library Open-Source-Prom…

2026/7/4 6:03:26阅读更多 →
Xous加密服务实战:AES、TRNG和密钥管理的安全实现指南

Xous加密服务实战:AES、TRNG和密钥管理的安全实现指南

Xous加密服务实战:AES、TRNG和密钥管理的安全实现指南 【免费下载链接】xous-core The Xous microkernel 项目地址: https://gitcode.com/gh_mirrors/xo/xous-core Xous微内核系统提供了完整的企业级加密服务解决方案,包括AES加密、真随机数生成器…

2026/7/4 6:03:26阅读更多 →
LIII客户端开发指南:从源码编译到自定义功能的完整路线图

LIII客户端开发指南:从源码编译到自定义功能的完整路线图

LIII客户端开发指南:从源码编译到自定义功能的完整路线图 【免费下载链接】LIII multi-platform bittorrent client 项目地址: https://gitcode.com/gh_mirrors/li/LIII LIII是一款跨平台的BitTorrent客户端,本文将为开发者提供从源码编译到自定义…

2026/7/4 5:58:26阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/3 14:18:39阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/3 14:38:35阅读更多 →
端到端自动驾驶:从GTC‘26看工程可信落地的核心逻辑

端到端自动驾驶:从GTC‘26看工程可信落地的核心逻辑

1. 项目概述:当算法工程师走进GTC26展厅,看到的不是芯片,而是“端到端”的呼吸节奏“端到端”这三个字,在GTC’26现场出现的频率,高得像NVLink带宽测试时的峰值曲线——它不再是一个论文里的技术路径选项,而…

2026/7/4 0:02:48阅读更多 →
缺牙修复科普:常见义齿类型与选择参考

缺牙修复科普:常见义齿类型与选择参考

缺牙修复科普:常见义齿类型与选择参考牙齿缺失是中老年人群中较为常见的口腔问题,不仅会造成咀嚼不便、进食受影响,长期还可能对营养摄入与日常社交带来困扰。义齿是改善缺牙问题的常用方式,目前市面上的义齿种类较多,…

2026/7/4 0:02:48阅读更多 →
STM32F091RC与LTC6904实现高精度方波信号生成

STM32F091RC与LTC6904实现高精度方波信号生成

1. 项目概述:LTC6904与STM32F091RC的精准方波生成方案在嵌入式系统开发中,精确的时钟信号和定时控制往往是项目成败的关键。LTC6904作为一款低功耗、高精度的可编程振荡器芯片,与STM32F091RC这款ARM Cortex-M0内核微控制器的组合,…

2026/7/4 0:02:48阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/4 1:16:56阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/4 2:33:55阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/4 2:33:55阅读更多 →