npm create vite@latest heroicons-demo --template vue
cd heroicons-demo
npm install
npm run dev
跑起来,确认能看到默认的 Vue 欢迎页面,说明环境没问题,接下来就可以开始请图标库入场了。npm install @heroicons/vue3 -S
npm install vite-plugin-svg-icons -S
npm install @types/node -D
vite.config.ts
,咱们要在这个文件里做核心配置。先引入必要的模块:import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'path'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
defineConfig
里添加插件配置,重点看plugins
和resolve
部分:export default defineConfig({
plugins: [
vue(),
createSvgIconsPlugin({
iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
symbolId: 'icon-[name]'
})
],
resolve: {
alias: {
'@': path.resolve(__dirname, 'src')
}
}
})
iconDirs
指定了图标存放的目录,咱们后续要在src
下新建assets/icons
文件夹,把下载好的 Heroicons 图标放进去。symbolId
定义了图标的命名规则,[name]
会自动替换成图标的文件名,比如user.svg
会变成icon-user
,这样命名统一,方便后面引用。路径别名@
指向src
目录,后面写代码的时候就不用敲一长串路径了。src/assets
下新建icons
文件夹,把 SVG 文件放进去。这里有个小技巧,建议按功能模块分类存放,比如ui
、solid
、outline
之类的,方便后续管理。src/
assets/
icons/
solid/
user.svg
lock.svg
outline/
search.svg
settings.svg
user_profile.svg
,方便后续匹配。src/components
下新建SvgIcon.vue
文件,内容如下:
main.ts
里全局注册这个组件:import { createApp } from 'vue'
import App from './App.vue'
import SvgIcon from './components/SvgIcon.vue'
const app = createApp(App)
app.component('SvgIcon', SvgIcon)
app.mount('#app')
来使用图标了,是不是很方便?
搜索
用户中心
name
属性,就能轻松实现图标的切换,满足交互场景的需求。src/utils
下新建iconUtils.ts
:import fs from 'fs'
import path from 'path'
const iconDir = path.resolve(__dirname, '../assets/icons')
function getIconNames(dir: string): string[] {
const files = fs.readdirSync(dir, { withFileTypes: true })
const icons: string[] = []
files.forEach(file => {
if (file.isDirectory()) {
icons.push(...getIconNames(path.join(dir, file.name)))
} else if (file.name.endsWith('.svg')) {
icons.push(file.name.replace(/\.svg$/, ''))
}
})
return icons
}
export const iconList = getIconNames(iconDir)
iconList
,就能获取所有图标名称了,方便做图标选择器之类的功能。inject: false
,然后在需要的组件里手动导入:// 在需要的组件里
import { useSvgIcon } from 'vite-plugin-svg-icons/client'
const UserIcon = useSvgIcon('user')
src/assets/icons
目录下,文件名是否和引用的名称一致,插件配置里的iconDirs
路径是否正确。还有可能是打包时没正确识别 SVG 文件,这时候可以检查 Vite 的插件是否安装正确,版本是否兼容。stroke
属性而不是fill
。另外,检查 CSS 样式是否被覆盖,比如父元素有color
属性,可能会影响图标的颜色显示。vite.config.ts
里确认resolve.alias
是否正确设置,引用图标的时候是否使用了正确的路径别名。如果用了 TypeScript,还要检查tsconfig.json
里的路径映射是否和 Vite 保持一致。🌟 公众号编辑器怎么选?AI 功能 + 素材协作全比较 🤖 有一云 AI:全链路 AI 自动化的效率核弹 如果你受够了写作卡壳、排版耗时、跨平台发布的繁琐,有一云 AI 就是你的 “效率核弹”!它
提升财经文章专业性的工具箱!数据查询、图表制作网站推荐 一、权威数据查询平台,让内容更有说服力 财经文章最讲究的就是数据的准确性和权威性。我给大家推荐几个好用的数据查询平台。 首先是 Wind,它在金
📌 先搞清楚链接失效的常见原因 自定义菜单链接突然打不开,先别着急删菜单。多数时候不是你的操作有问题,可能是这几个原因导致的: 微信对外部链接的审核越来越严,如果你填的是第三方平台的链接,比如某些电
腾讯朱雀 AI 模型有多厉害?揭秘其背后高精度的检测技术 在如今这个 AI 生成内容泛滥的时代,如何快速准确地识别出哪些是 AI 创作、哪些是人类原创,成了摆在内容创作者、教育机构、新闻媒体面前的一道
?双机位布置:打造360°无死角面试环境力扣模拟面试的双机位要求让不少同学犯难,其实把它想象成给电脑装个「监控搭档」就简单了。主机位就是咱们平时用的电脑摄像头,记得调整到能露出整张脸和桌面的角度——下巴别藏在阴影里,键盘也别只露出半个。副机位一般用手机支架固定,放在身体侧后方45度角,这个位置既能拍
?精准提分黑科技!ExamifyAI如何重塑2025考试备考模式?一、核心功能大揭秘:AI如何让考试准备更高效?ExamifyAI作为新一代智能考试平台,最吸引人的地方就是它的自适应学习引擎。这个系统就像一个贴心的私人教练,能根据你的答题数据自动调整学习路径。比如你在数学几何题上错误率高,系统会优先
你可能觉得公众号注册就是填几个信息的事,殊不知,这里面的每个选择都像蝴蝶扇动翅膀,未来三年的运营轨迹可能就被悄悄改变了。很多人刚开始没当回事,等到后面想调整,才发现处处受限,那叫一个后悔。今天就跟你好好聊聊,注册时那些看似不起眼的选择,到底能给未来的运营带来多大影响。📌账号类型选不对,三年运营路难
上周帮同事核查一篇AI写的行业报告,发现里面把2023年的用户增长率写成了2025年的预测数据。更离谱的是,引用的政策文件号都是错的。现在AI生成内容速度快是快,但这种硬伤要是直接发出去,读者信了才真叫坑人。今天就掰开揉碎了说,AI写作怎么做好事实核查,别让你的头条文章变成 误导重灾区 。📌AI写
🎯维度一:选题像打靶,靶心必须是「用户情绪储蓄罐」做内容的都清楚,10w+爆文的第一步不是写,是选。选题选不对,后面写得再好都是白搭。高手选选题,就像往用户的「情绪储蓄罐」里投硬币,投对了立刻就能听到回响。怎么判断选题有没有击中情绪?看三个指标:是不是高频讨论的「街头话题」?是不是藏在心里没说的「抽
📌135编辑器会员值不值得买?AI模板库和秀米H5谁更胜一筹?🔍135编辑器会员的核心价值解析企业级商用保障与效率提升135编辑器的企业会员堪称新媒体运营的「合规保险箱」。根据实际案例,某团队通过企业会员节省了大量设计费用,完成多篇内容创作,单篇成本从千元降至百元内。这得益于其海量正版模板和素材库,
新公众号被限流怎么办?粉丝增长影响分析及2025恢复指南🔍新公众号限流的核心原因解析新公众号被限流,往往是多个因素叠加的结果。根据2025年最新数据,超过70%的限流案例与内容质量直接相关。比如,有些新手喜欢用“震惊体”标题,像“惊!某公众号三天涨粉十万”,这类标题在2025年的算法里已经被明确标记
⚠️AI内容重复率高的3大核心原因现在用AI写东西的人越来越多,但很多人都会遇到同一个问题——重复率太高。明明是自己用工具生成的内容,一检测却显示和网上某些文章高度相似,这到底是为什么?最主要的原因是AI训练数据的重叠性。不管是ChatGPT还是国内的大模型,训练数据来源其实大同小异,都是爬取的互联
🌟135编辑器:公众号运营者的效率革命做公众号运营的朋友都知道,排版是个费时费力的活。一篇文章从内容到排版,没几个小时根本搞不定。不过现在好了,135编辑器的出现,彻底改变了这一现状。135编辑器是提子科技旗下的在线图文排版工具,2014年上线至今,已经成为国内新媒体运营的主流工具之一。它的功能非常
现在做内容的人几乎都离不开AI,但最头疼的就是原创度。平台检测一严格,那些模板化的AI文很容易被打回,甚至判定为“非原创”。但你知道吗?同样是用AI写东西,换个prompt指令词,原创度能差出天壤之别。我最近拿不同的prompt测了好几次,结果真的吓一跳——好的指令能让AI内容原创度直接从“及格线”