惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
B
Blog RSS Feed
H
Help Net Security
Blog — PlanetScale
Blog — PlanetScale
Vercel News
Vercel News
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
L
LangChain Blog
IT之家
IT之家
F
Fortinet All Blogs
V
V2EX
C
Check Point Blog
The Cloudflare Blog
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans

博客园 - 丁少华

adb提取本机apk 安卓ADB调试安卓 高德地图车机版本9.5制作共存 Taskfile 拆分子文件 go项目的taskfile Go 内嵌网页 windows的终端像mac一样好用 pgsql指定用户看到某个表 vue不使用根组件 Huma + Orval 前后端 API 自动生成方案 Mac安装nginx 不喜欢Go的几点 代码写错分支拯救指南 React UI 库推荐 Loop Engineering Vue 3 UI 组件库 Neon白嫖免费pgsql 域名利用cloudflare免费图床 nginx反代CloudflarePages提示502 vite使用shadcn Window下Nginx winserver2022安装不上软件 mac已损坏无法打开 代码高亮 命令运行器之task 命令运行器之just windows开启wsl 白嫖Redis 白嫖MongoDB vercel无服务函数
vite使用biome
丁少华 · 2026-05-02 · via 博客园 - 丁少华

前言

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.4.14/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"
      },
     "security": {
        "noBlankTarget": "off"
      }
    }
  }
}

参考

一个被拒绝的PR

其它

短路径

vite.config.ts

export default defineConfig({
  resolve: {
   // ...
    alias: {
      '@': '/src'
    }
  }
 // ...
});

tsconfig.app.json

{
  "compilerOptions": {
    //...
     /* sort paths */
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  },
 // ...
}