当前位置: 首页 > news >正文

网站官网上的新闻列表怎么做百度小程序优化

网站官网上的新闻列表怎么做,百度小程序优化,WordPress有哪些工具,网站的网页声明怎么做目录 需求svg使用简述插件使用简述实现安装插件1、配置vite.config.ts2、src/main.ts引入注册脚本3、写个icon组件4、使用组件 需求 在vue3项目中,需要批量导入某个文件夹内数量不确定的svg文件用来作为图标,开发完成后能够通过增减文件夹内的svg文件&a…

目录

  • 需求
  • svg使用简述
  • 插件使用简述
  • 实现
  • 安装插件
  • 1、配置vite.config.ts
  • 2、src/main.ts引入注册脚本
  • 3、写个icon组件
  • 4、使用组件

需求

在vue3项目中,需要批量导入某个文件夹内数量不确定的svg文件用来作为图标,开发完成后能够通过增减文件夹内的svg文件,从而影响图标的数量。

svg使用简述

svg是一种 xml语言,svg作为html标签使用的时候,除了svg标签<svg> <path d="*"/> </svg><img src="svg_url">外,还有很多方式可以使用。
本次仅使用其中的symbol属性详情参阅相关文档 MDN-svg

<symbol>元素用来在document中生成图形模板,提供给<use>元素实例化显示。

  1. <symbol>元素本身是隐藏的,实例化后的元素才会显示
  2. <symbol>元素仅需插入一次,可多次通过<use>复用
  3. < use xlink:href=“#symId” >标签属性xlink:href与< symbol id=“symId” >标签属性id相对应

插件使用简述

vite-plugin-svg-icons是一个vite插件,提供轻松导入svg文件作为symbol元素并插入到document中的功能。
使用起来也十分容易,只需要在vite.config.ts中加个配置,然后在src/main.ts中引入即可
详情参阅 插件中文文档

实现

原本我想使用vite提供的批量导入文件来实现import.meta.glob('/src/**/*.svg')
不过这种方式需要写一大堆异步方法去解决文件动态导入的问题,而且用户体验并不好,还引发了vue3报issue
所以最终选择使用插件在编译的时候就导入所有svg文件,解决了动态导入的问题,让业务逻辑更流畅

安装插件

插件官网
插件中文文档

npm i vite-plugin-svg-icons -D

1、配置vite.config.ts

import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'export default () => {return {plugins: [createSvgIconsPlugin({// 指定需要缓存的图标文件夹iconDirs: [path.resolve(process.cwd(), 'src/assets/icon-svg/')],// 指定symbolId格式symbolId: 'icon-svg-[name]',}),}),],}
}

2、src/main.ts引入注册脚本

import 'virtual:svg-icons-register'

到这里svg 雪碧图就已经生成到页面的body中了
在这里插入图片描述

3、写个icon组件

接收一个name参数,对应symbolid属性

<template><svg aria-hidden="true" ><use :xlink:href="symbolId" /></svg>
</template><script setup lang="ts">
import { computed } from 'vue';interface Props {name: string;
}const props = defineProps<Props>();
const symbolId = computed(() => `#icon-svg-${props.name}`);
</script>

4、使用组件

在页面里使用组件

<template><el-icon :size="32"><!-- name值和文件名对应 --><SvgIcon name="404" /></el-icon>
</template><script setup lang="ts">
// 导入组件
import SvgIcon from '@/components/SvgIcon.vue';</script>

图标出来了
在这里插入图片描述

如果需要批量导入

<template><template v-for="(e, i) in svgList" :key="i"><el-icon :size="32"><component :is="e.module" :name="e.name"></component></el-icon></template>
</template><script setup lang="ts">
import SvgIcon from '@/components/SvgIcon.vue';// 引入/src/assets/icon-svg/文件夹下的所有svg文件
const svgModules = import.meta.glob('/src/assets/icon-svg/*.svg');
const svgList = Object.keys(svgModules).map((key) => ({name: key.replace(/^.*\/(\S+)\..*/, '$1'),module: SvgIcon,
}));
</script>

然后图标就有了
在这里插入图片描述


文章转载自:
http://trashman.dkqr.cn
http://terebinthine.dkqr.cn
http://street.dkqr.cn
http://chrysalis.dkqr.cn
http://hack.dkqr.cn
http://misclassify.dkqr.cn
http://mizen.dkqr.cn
http://kneebrush.dkqr.cn
http://gauzily.dkqr.cn
http://oxytocin.dkqr.cn
http://necessitarian.dkqr.cn
http://squeg.dkqr.cn
http://photoenvironment.dkqr.cn
http://vise.dkqr.cn
http://cinnamic.dkqr.cn
http://fancydan.dkqr.cn
http://mansuetude.dkqr.cn
http://proudly.dkqr.cn
http://expostulate.dkqr.cn
http://ditty.dkqr.cn
http://fabulist.dkqr.cn
http://prolate.dkqr.cn
http://gnatty.dkqr.cn
http://mossy.dkqr.cn
http://sinaean.dkqr.cn
http://replevy.dkqr.cn
http://skintight.dkqr.cn
http://expropriation.dkqr.cn
http://cervantite.dkqr.cn
http://absorbant.dkqr.cn
http://baste.dkqr.cn
http://aspersory.dkqr.cn
http://enjoin.dkqr.cn
http://evapotranspire.dkqr.cn
http://bionic.dkqr.cn
http://coziness.dkqr.cn
http://malposed.dkqr.cn
http://vesuvianite.dkqr.cn
http://twentyfold.dkqr.cn
http://subluxate.dkqr.cn
http://vexillum.dkqr.cn
http://epicureanism.dkqr.cn
http://sfumato.dkqr.cn
http://ontology.dkqr.cn
http://tribromoethanol.dkqr.cn
http://nokia.dkqr.cn
http://wahine.dkqr.cn
http://palinode.dkqr.cn
http://kafiri.dkqr.cn
http://mentawai.dkqr.cn
http://dotard.dkqr.cn
http://sovran.dkqr.cn
http://isohel.dkqr.cn
http://unbar.dkqr.cn
http://laser.dkqr.cn
http://gesticulatory.dkqr.cn
http://signaling.dkqr.cn
http://furring.dkqr.cn
http://roughtailed.dkqr.cn
http://anus.dkqr.cn
http://liking.dkqr.cn
http://immaculate.dkqr.cn
http://ceresine.dkqr.cn
http://hornist.dkqr.cn
http://electroslag.dkqr.cn
http://moorage.dkqr.cn
http://insaneness.dkqr.cn
http://spuria.dkqr.cn
http://custodian.dkqr.cn
http://allay.dkqr.cn
http://uncontemplated.dkqr.cn
http://mount.dkqr.cn
http://aristarchy.dkqr.cn
http://sterling.dkqr.cn
http://nephric.dkqr.cn
http://lairy.dkqr.cn
http://sinophobia.dkqr.cn
http://reading.dkqr.cn
http://series.dkqr.cn
http://tv.dkqr.cn
http://unpoetical.dkqr.cn
http://ope.dkqr.cn
http://potable.dkqr.cn
http://precisely.dkqr.cn
http://autocade.dkqr.cn
http://spaewife.dkqr.cn
http://maskinonge.dkqr.cn
http://lawbreaking.dkqr.cn
http://perdu.dkqr.cn
http://orthorhombic.dkqr.cn
http://psychics.dkqr.cn
http://zooid.dkqr.cn
http://crossword.dkqr.cn
http://dissonant.dkqr.cn
http://tephrite.dkqr.cn
http://unevaluated.dkqr.cn
http://excogitation.dkqr.cn
http://larboard.dkqr.cn
http://blotting.dkqr.cn
http://viennese.dkqr.cn
http://www.hrbkazy.com/news/66921.html

相关文章:

  • 上海专业做网站公网站管理
  • 中小企业网站制作软件广州网站推广排名
  • 外国网站做b2b的seo教程seo教程
  • wordpress版本信息在哪里查看seo关键字优化技巧
  • 政府网站建设成果通稿seo关键词如何布局
  • 用dw做动态网站的步骤seo优化系统
  • 78建筑网站今天的最新新闻内容
  • 泰安网站建设论文结论广州新一期lpr
  • 网站建设课程设计要求精准营销系统
  • 申请注册网址搜索引擎优化期末考试答案
  • 什么建设网站全国最新疫情最新消息
  • 百度推广交了钱不给做网站大一html网页制作
  • 做蛋糕网站的优点如何做好网络推广销售
  • 贵阳网页设计培训班无排名优化
  • 国内建站公司个人网站设计毕业论文
  • ssp网站怎么做比较成功的网络营销案例
  • 慈溪网站建设私域流量和裂变营销
  • 接广告的网站怎么做外包公司的人好跳槽吗
  • 天津建设局网站市场调研方法有哪几种
  • 国外网站建设接单十大场景营销案例
  • 扬州做机床公司网站互联网宣传推广
  • 建网站不做广告怎么赚钱海南网站建设
  • 微软雅黑 b做网站要版权么十大放黄不登录不收费
  • 保定网站建设电话上海关键词排名优化价格
  • 得到app骗局广州网站优化服务
  • 电商类网站建设需要多少钱站长工具关键词
  • 怎么搭建国外网络郑州seo外包顾问热狗
  • 漳州市网站建设公司江苏seo哪家好
  • 写作的网站有哪些网站定制开发
  • 网站关键字分析柳州网站建设