找不到模块“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]'
    }),
    // ... 其他插件
  ],
});
相关推荐
贩卖黄昏的熊12 小时前
NestJS简明教程——安全
开发语言·javascript·安全·typescript·nest.js
theoweb312 小时前
Typescript关于sort需要注意的地方
typescript
黄泉路醉s15 小时前
在Vant+Vue+TypeScript的H移动前端使用UnoCSS
前端·vue.js·typescript
不好听61316 小时前
TypeScript 类型系统:`type` vs `interface` 与 `import type`
typescript
晓说前端1 天前
TypeScript 高级特性 —— 类型断言与泛型
前端·typescript
烬羽2 天前
React 状态提升:一个 ColorPicker,彻底搞懂状态该放哪里
react.js·typescript·设计
ji_shuke3 天前
Playwright 从零到 CI 实战:基于 TypeScript 的端到端测试完整指南
javascript·ci/cd·typescript·playwright
小林ixn3 天前
React + TypeScript 实战:从“类型体操”到“数据持久化”,一次讲透组件通信与副作用管理
前端·react.js·typescript
用户0934077735143 天前
HarmonyOS WPS Open SDK 快速入门:HAR 装上就能打开文档吗
typescript·harmonyos
不好听6133 天前
从困惑到理解:React 父子组件通信的三种写法
react.js·typescript