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

vite使用biome

前言

rsbuld创建的项目默认自动使用的就是 biome。
但是随着新版vite启用rolldown后,vite也不如rust的步伐。这个时候我又想用回vite了!

但是苦 eslint+pretter 组合久矣:需要的相关依赖包多、效率低、还有两者各种冲突规则!

移除不需要的

在新版的vite项目中,pretter已经被官方移除(Vite 团队在 2026 年执行的“工具链瘦身计划”和“Rust 化战略”的共同结果。默认模板的“去风格化”),因此我们只需要移除eslint相关即可!

npm uninstall eslint @eslint/js typescript-eslint eslint-plugin-react-hooks eslint-plugin-react-refresh

修改script

将 package.json 的

"scripts": {"dev": "vite","build": "tsc -b && vite build","preview": "vite preview""lint": "eslint .",
}

改为

"scripts": {"dev": "vite","build": "tsc -b && vite build","preview": "vite preview","lint": "biome lint .","lint:fix": "biome lint . --fix","format": "biome format .","format:check": "biome format . --check","biome":"biome check --write ."
},

其实对比发现只是改动 lint ,和新加了4个script(其实推荐新增的4个里,只要第4个就行)
代码质量:行使以前eslint的作用,lintlint:fix,前者检查,后者检查顺带修复。
风格:行使以前pretter的能力,format:checkformat,前者检查,后者检查顺带修复。
风格+代码质量:biome check --write . 先当医生(lint:fix)再当理发师(format)。运行这一个,它会把逻辑错误修了,顺便把头发也理顺了。这也是目前最推荐的做法。

需要注意的是,无论dev还是build时vite都不会帮你执行lint或format,需要你自己执行!

配置文件(可选)

删除 eslint.config.js 配置文件,新增 biome.json

{"$schema": "https://biomejs.dev/schemas/2.3.11/schema.json","assist": {"actions": {"source": {"organizeImports": "on"}}},"vcs": {"enabled": true,"clientKind": "git","useIgnoreFile": true},"formatter": {"indentStyle": "space","lineWidth": 320},"javascript": {"formatter": {"quoteStyle": "single"}},"json": {"parser": {"allowComments": true,"allowTrailingCommas": true}},"css": {"parser": {"cssModules": true,"tailwindDirectives": true}},"linter": {"enabled": true,"rules": {"recommended": true,"a11y": {"recommended": false},"style": {"noNonNullAssertion": "off"}}}
}

参考

一个被拒绝的PR

http://www.jsqmd.com/news/738758/

相关文章:

  • 告别运营商开机画面:手把手教你用Hitool和TTL替换海思机顶盒开机Logo
  • Twinkle Tray显示器亮度管理终极指南:免费快速调节多显示器亮度
  • OpenClaw Guardian:为AI助手构建高可用的自动化健康监控系统
  • Cursor规则引擎:模块化设计提升AI编程规范与团队协作效率
  • 别再手动编译了!用vcpkg在Windows上5分钟搞定Pangolin+OpenGL开发环境(附完整配置清单)
  • AI视频剪辑自动化:基于MCP协议与Ssemble的智能工作流实践
  • GPU内存检测终极指南:用MemtestCL快速诊断显卡健康状态
  • 从‘盲人摸象’到‘民主投票’:用Python+RandomForest轻松搞定一个分类小项目
  • Agentic RAG系统优化:解决多跳问答中的信息遗忘与重复检索
  • 轻量级通信协议设计实战:从原理到嵌入式实现
  • RPG Maker MV/MZ插件生态系统:从性能优化到游戏机制扩展的技术深度解析
  • 对比使用前后Taotoken用量看板如何让个人开发者清晰掌握API支出
  • 别再傻傻分不清了!一文讲透新能源汽车里分流电阻和霍尔传感器的选型门道
  • Python人脸识别入门:除了face-recognition,你还需要知道dlib库的这些安装“玄学”
  • D3KeyHelper深度解析:暗黑3专业级按键宏架构与高级应用指南
  • 从理论到实战:用Python/Java手把手实现面试中的经典算法(排序、查找、DFS/BFS)
  • VMware/VirtualBox里Ubuntu能ping通IP但打不开网页?手把手教你搞定DNS配置
  • Android设备管理终极指南:Escrcpy如何彻底改变你的工作流
  • 3个关键步骤:用llama-cpp-python在本地部署强大AI模型,释放你的创意潜能!
  • 别再手动写CSS了!用这个Vue3自定义指令,5分钟搞定Element Plus表格表头吸顶
  • 3个场景+4种模式:VisualCppRedist AIO全面解决Windows运行库问题
  • 保姆级教程:不重启、不断电,在线刷新H3C交换机POE固件(Refresh vs Full模式详解)
  • 多模态大模型的视觉反射机制解析与实践
  • 别急着换新!用OpenCore Legacy Patcher v1.4.3,让你的2012款MacBook Pro吃上macOS Sonoma
  • 使用 Taotoken 后 API 调用延迟与成功率有了明显改善
  • Seraphine技术解析:基于LCU API的英雄联盟智能辅助系统实现原理
  • 告别手写标注!用PyTorch实战CRNN+CTC,5步搞定不规则文本识别
  • 别再死记硬背了!用Python+PyTorch手把手图解自注意力机制(附完整代码)
  • 1989-2025年《中国劳动统计年鉴》excel + PDF
  • Rats-Search深度指南:构建去中心化BitTorrent搜索生态的实战手册