You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Svelte项目的Vite HMR覆盖层中展示Prettier代码检查错误

当然可以实现!Vite本身并没有内置ESLint错误到HMR覆盖层的映射,但我们可以借助vite-plugin-eslint插件来完成这个需求——它能把ESLint的检查结果转化为Vite可识别的错误/警告,从而在HMR覆盖层里展示,和语法错误的展示方式一致。

下面是具体的实现步骤,结合你现有的配置来调整:

1. 安装依赖

首先安装vite-plugin-eslint作为开发依赖:

npm install vite-plugin-eslint --save-dev
# 或使用 yarn
yarn add vite-plugin-eslint --dev
# 或使用 pnpm
pnpm add vite-plugin-eslint -D

2. 修改Vite配置文件

更新你的vite.config.js,引入并配置这个插件,让它把ESLint错误注入到Vite的错误系统中:

import { defineConfig } from 'vite';
import { svelte } from '@sveltejs/vite-plugin-svelte';
import eslint from 'vite-plugin-eslint';
import preprocess from 'svelte-preprocess';

export default defineConfig({
  plugins: [
    svelte({
      preprocess: preprocess(),
    }),
    eslint({
      // 指定要检查的文件范围,覆盖你的JS和Svelte文件
      include: ['src/**/*.js', 'src/**/*.svelte'],
      exclude: ['node_modules'],
      // 关键配置:把ESLint错误作为Vite错误输出,触发HMR覆盖层
      emitError: true,
      // 可选:是否将ESLint警告也显示在覆盖层
      emitWarning: true,
      // 开发模式下不要因为错误终止构建,保证HMR正常工作
      failOnError: false,
      failOnWarning: false,
      // 可选:指定错误的格式化样式,默认是stylish
      formatter: 'stylish',
    }),
  ],
});

3. 验证效果

重启你的Vite开发服务器,现在当代码出现ESLint错误(包括Prettier格式问题,因为你的ESLint配置已集成Prettier)时,这些错误就会自动显示在HMR覆盖层里了,和语法错误的展示逻辑完全一致。

额外说明

  • 你的现有ESLint配置已经正确处理了Svelte文件(通过overrides中的svelte3/svelte3处理器),无需修改.eslintrc或.prettierrc.js。
  • 如果只想在覆盖层显示错误而非警告,将emitWarning设为false即可。
  • 生产构建时,可根据需求将failOnError改为true,让ESLint错误直接终止构建,保障代码质量。

内容的提问来源于stack exchange,提问作者Slava.In

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 08:47:47