暂停一下,给Next.js项目配置一下ESLint(Next+tailwind项目)

ops/2024/12/15 1:04:31/

前提

之前开自己的GitHub项目,想着不是团队项目,偷懒没有配置eslint,后面发现还是不行。eslint的存在可以帮助我们规范代码格式,同时 ctrl + s保存立即调整代码格式是真的很爽。

除此之外,团队使用eslint也是好处颇多,因为如果团队内每一个同事的代码规范风格都不一样,协同开发的时候,容易出现大量因为代码格式调整而引起的代码变动,这样让我们追踪修改代码的难度又上升了一个level,因而,配置eslint是非常有必要的。

今天教大家配一下Next.js+tailwind的代码规范,顺便也是方便自己查找。

项目配置参考位置:

goldfish-Ai/.eslintrc.json at pack-autoprefixedfail · blueyuyu/goldfish-Ai · GitHub

配置

初始化 ESLint

如果在配置Next项目的时候,没有选择eslint,就需要进行如下步骤

npx eslint --init

How would you like to use ESLint?: To check syntax and find problems
What type of modules does your project use?: JavaScript modules (import/export)
Which framework does your project use?: React
Does your project use TypeScript?: Yes or No
Where does your code run?: Browser, Node
How would you like to define a style for your project?: Use a popular style guide
Which style guide do you want to follow?: Airbnb: https://github.com/airbnb/javascript
What format do you want your config file to be in?: JSON

进行配置,这样就会生成一个基本的 .eslintrc.json 文件。

安装ts依赖

项目中有用到ts;

npm install @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev

配置 .eslintrc.json

可以照着我的配置配;

{"extends": ["next/core-web-vitals","plugin:@typescript-eslint/recommended","plugin:prettier/recommended"],"parser": "@typescript-eslint/parser","plugins": ["@typescript-eslint"],"settings": {"import/resolver": {"node": {"extensions": [".js", ".jsx", ".ts", ".tsx"]}}},"rules": {// 自定义规则"react/react-in-jsx-scope": "off","linebreak-style": ["error", "unix"],// 强制使用 LF 换行符"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx", ".ts", ".tsx"] }],"import/extensions": ["error","ignorePackages",{"js": "never","jsx": "never","ts": "never","tsx": "never"}],"no-unused-vars": "off","@typescript-eslint/no-unused-vars": ["error"],"import/prefer-default-export": "off","max-len": ["warn", { "code": 100 }],"react/jsx-max-props-per-line": ["error", { "maximum": 1 }],// 设置为 "error" 并指定 maximum: 1,确保每个属性独占一行。"react/jsx-indent-props": ["error", 2]// 规则确保属性缩进为两个空格。}
}

安装 Prettier

npm install prettier eslint-config-prettier eslint-plugin-prettier --save-dev

配置 .prettierrc

创建一个 .prettierrc 文件来配置 Prettier。

{"semi": false,"singleQuote": false,"printWidth": 100,"useTabs": false,"trailingComma": "all","bracketSpacing": true,"arrowParens": "always","proseWrap": "preserve","endOfLine": "lf"
}

测试

这样就配置完毕了,ctrl+s保存,代码自动调整格式,对照一下,看看格式是不是自己想要的,不是的话,看着文档慢慢调整。

配置 VSCode 设置

使用快捷键 ctrl+ , 输入setting,找到在setting.json里面编写。对项目进行配置。

settings.json

{// 启用保存时自动格式化"editor.formatOnSave": true,// 设置默认格式化工具为 Prettier"editor.defaultFormatter": "esbenp.prettier-vscode",// 确保 ESLint 自动修复"eslint.autoFixOnSave": true,// 确保 ESLint 也参与格式化"eslint.validate": ["javascript","javascriptreact","typescript","typescriptreact"],// 忽略特定文件夹的格式化"files.exclude": {"**/.git": true,"**/node_modules": true},}

小结

曾经的我,不知规范化的好处,项目到我手上,就变了模样,历史记录更是难以追踪。今日起,我痛定思痛,决心每一次都把规范设置好。也希望大家以我为戒,不要再犯下此类低级错误!!!!

顺便问一下,谁能关注一下我吗?前端小趴菜在努力成长,带你一起进步!!!


http://www.ppmy.cn/ops/141962.html

相关文章

go语言的成神之路-标准库篇-os标准库

一、权限 在操作系统(OS)中,标准库的权限管理是非常重要的,它确保了不同用户和进程能够安全地访问系统资源。以下是一些常见的权限概念和说明: 1.用户权限 用户ID(UID):每个用户在…

MySQL之数据库三大范式

一、什么是范式? 范式是数据库遵循设计时遵循的一种规范,不同的规范要求遵循不同的范式。 (范式是具有最小冗余的表结构) 范式可以 提高数据的一致性和 减少数据冗余和 更新异常的问题 数据库有六种范式(1NF/2NF/3NF…

手机使用笔记

文章目录 配置一键换机 手机玩的很菜,做个笔记,有时自己找着方便。 配置 怕手机的配置不够,要不要弄顶配。 实际如果不玩游戏,根本遇不到性能瓶颈,现在的芯片都这么强,应对办公和多开早就轻轻松松。 随便…

我在广州学 Mysql 系列之 数据“表”的基本操作

ℹ️大家好,我是😆练小杰,今天主要讲得是Mysql数据表的基本操作内容~~ 昨天讲了“Mysql 数据“库“的基本操作”~~ 想要了解更多🈶️MYSQL 数据库的命令行总结!!! “真相永远只有一个”——工藤…

根据契约进行分析--录像店案例研究01

Richard Mitchell 著,zhen_lei 译 本文包括录像店案例研究的一些片段,用来说明根据契约进行分析的原理。本文假定读者已经从其它渠道学习了一些关于根据契约进行分析的方法。 完整的一套模型可以写成一本书。这些选择的片段用来说明开发的某些方面&…

【计算机视觉】医疗图像关键点识别

1. CNN 1.1. 设备参数 1.2. 代码 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import Dataset, DataLoader from torchvision import transforms from tqdm import tqdm import os import cv2 import numpy as np import time im…

java和go语言的优劣

Java 和 Go 是两种非常流行的编程语言,各自拥有独特的特性和优势。它们在不同的应用场景中表现出色,选择哪种语言取决于具体的项目需求、团队技能以及个人偏好。下面我们将从多个维度对比 Java 和 Go 的优劣,帮助您更好地理解这两种语言的特点…

前端成长之路:HTML(1)

每个网页都会有一个基本的结构标签&#xff08;也称为骨架标签&#xff09;&#xff0c;页面内容也是在这些基本标签上书写。 基本结构标签&#xff08;骨架标签&#xff09; <html></html>标签是HTML标签&#xff0c;是页面中最大的标签&#xff0c;被称为根标签…