当前位置: 首页 > news >正文

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

前提

之前开自己的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.mrgr.cn/news/80107.html

相关文章:

  • 【考前预习】3.计算机网络—数据链路层
  • 【查找】散列表的查找——线性探测法
  • 14:00面试,14:08就出来了,问的问题有点变态。。。
  • 电子商务人工智能指南 5/6 - 丰富的产品数据
  • 4. 两两交换链表中的节点
  • Dirmap:一款高级Web目录文件扫描工具
  • 程序的调试
  • 6.2 MapReduce工作原理
  • QT笔记- QSystemTrayIcon系统托盘功能完整示例
  • 【C++】简单计算器问题的深度解析与优化对比
  • 【Qt】信号、槽
  • ESP32-S3模组上跑通ES8388(30)
  • C++3--内联函数、auto
  • virtualbox 搭建ubuntu
  • ---mysql server: Ubuntu Linux下最最基本的操作
  • 关于睡懒觉
  • Elasticsearch 集群部署
  • Stable Diffusion Controlnet常用控制类型解析与实战课程 4
  • RabbitMQ中的Work Queues模式
  • 使用Nexus3搭建npm私有仓库
  • 八大排序算法C语言版
  • 112.【C语言】数据结构之排序(详解插入排序)
  • 在 Ubuntu 24.04.1 LTS (WSL) 中使用 openssl 生成 keybox.xml
  • 进程保活机制
  • 深度学习中的多通道卷积与偏置过程详解
  • 零知识证明:区块链隐私保护的变革力量