首页 >> 大全

Vue3+cli 如何利用包来 导入svg svg-sprite-loader

2023-09-08 大全 37 作者:考证青年

因为之前很多时候都是通过 来管理格式的图标,但是未免也有不稳定的时候,通过vue3 svg-- 来管理svg 同样也很方便

需求:

将ui发送的svg文件应用到页面上,vue 如何解析svg文件

使用步骤: 1、安装插件

npm install svg-sprite-loader --save-dev

2、新建存放svg目录地址

方便后面演示内容,在此处固定一个目录地址,可以根据自己的习惯进行调整,并对后面代码进行修改

3、创建.vue:



4、在同级目录下创建index.js

写法为V3 写法,v2 不适用,修改即可

const requireAll = requireContext => requireContext.keys().map(requireContext)import Svgicon from './Svgicon.vue'
// 如果不需要深层查找则修改为false即可
const req = require.context('./svg', true, /\.svg$/)
export default {install(app) {requireAll(req);app.component('svg-icon', Svgicon)   // 挂载在全局}
}

5、配置 vue..js:

const { defineConfig } = require('@vue/cli-service')
const path = require('path')
function resolve(dir) {return path.join(__dirname, '.', dir)
}
module.exports = defineConfig({transpileDependencies: true,chainWebpack: config => {config.module.rules.delete("svg"); //重点:删除默认配置中处理svg,config.module.rule('svg-sprite-loader').test(/\.svg$/).include.add(resolve('src/icons')) //处理svg目录.end().use('svg-sprite-loader').loader('svg-sprite-loader').options({symbolId: 'icon-[name]'})},
})

6、在main.js 中引入刚才创建的index.js

import svg from './icons/index'
// ......
createApp(App).use(store).use(svg)//.......

7、使用

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了