找不到模块“virtual:svg-icons-register”或其相应的类型声明的解决办法

创建类型声明文件

在项目的 src 目录下创建一个类型声明文件,例如 vite-env.d.ts 或 global.d.ts:

typescript 复制代码
// src/vite-env.d.ts 或 src/global.d.ts

declare module 'virtual:svg-icons-register' {
  const component: any;
  export default component;
}

或者更详细的类型声明:

typescript 复制代码
// src/vite-env.d.ts

declare module 'virtual:svg-icons-register' {
  import { Plugin } from 'vite';
  
  // 根据实际使用的 svg 图标库进行调整
  const svgIconsRegister: Plugin;
  export default svgIconsRegister;
}

在 tsconfig.json 中包含声明文件

确保你的 tsconfig.json 包含了类型声明文件,vite创建的项目会有tsconfig.app.json和tsconfig.noed.json同理在include声明文件路径,如src文件夹下面的vite-env.d.ts文件声明为"src/vite-env.d.ts"

typescript 复制代码
{
  "compilerOptions": {
    // ... 其他配置
  },
  "include": [
    "src/**/*",
    "src/**/*.d.ts",
    "src/vite-env.d.ts" // 确保包含你的声明文件
  ]
}

检查依赖和配置

确保正确安装了插件vite-plugin-svg-icons,不确定包是否丢失建议重新安装一遍

bash 复制代码
yarn add vite-plugin-svg-icons -D
# or
npm i vite-plugin-svg-icons -D
# or
pnpm install vite-plugin-svg-icons -D

并在 vite.config.ts 中正确配置:

typescript 复制代码
// vite.config.ts
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
import { defineConfig } from 'vite';

export default defineConfig({
  plugins: [
    createSvgIconsPlugin({
		iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/svg')],
        symbolId: 'icon-[dir]-[name]'
    }),
    // ... 其他插件
  ],
});
相关推荐
右耳朵猫AI8 小时前
Web前端周刊2026W38 | React 19.3 发布、StyleX 深潜、jsdom 30.1 提速
前端·javascript·react.js·typescript·node.js
溪语流沙10 小时前
Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商
redis·python·mysql·docker·typescript·django·vue
掰头战士1 天前
多重影分身!恨不得把一个agent掰成两个? 还真能干!
typescript·llm·agent
shmily麻瓜小菜鸡1 天前
TDD(测试驱动开发)详解
开发语言·javascript·typescript·node.js·ecmascript
雾隐隐o2 天前
TypeScript 基础:数据类型、接口与类型推论
typescript
flash俊杰2 天前
Zod Schema 驱动的 IPC 契约:从入参校验到状态机一致性的三层防御
javascript·typescript
愛芳芳2 天前
基于 Electron + Vue3 的仿 PC 微信客户端项目实战
前端·javascript·css·elementui·typescript·electron·vue
神秘的猪头3 天前
TypeScript 高级用法全解析:从泛型到 infer,把类型系统真正用起来
前端·typescript
FYKJ_20103 天前
【毕设分享】基于Web的校园兼职信息发布与申请系统07059
前端·vue.js·spring boot·mysql·typescript·spark·课程设计
ynchyong4 天前
TS 基础
typescript·ts