在 laravel vue 中使用 svg 圖標(biāo)

安裝擴(kuò)展組件:

npm install laravel-mix-svg-vue
or
yarn add laravel-mix-svg-vue

在 webpack.mix.js 中添加引用:

const mix = require('laravel-mix');
require('laravel-mix-svg-vue');

mix.js('resources/js/app.js', 'public/js')
    .svgVue();

在 app.js 中引用組件

import Vue from 'vue';
import SvgVue from 'svg-vue';

Vue.use(SvgVue);

svg 使用:

<svg-vue icon="avatar"></svg-vue>

默認(rèn)配置

{
    svgPath: 'resources/svg',
    extract: false,
    svgoSettings: [
        { removeTitle: true },
        { removeViewBox: false },
        { removeDimensions: true }
    ]
}
參數(shù) 類(lèi)型 默認(rèn)值 說(shuō)明
svgPath String resources/svg svg 圖標(biāo)路徑
extract Boolean false 將 svg 與主包分離
svgoSettings Array [{ removeTitle: true }, { removeViewBox: false }, { removeDimensions: true }] svgo 相關(guān)設(shè)置

ps

移除svg自帶顏色,可以在配置下加一行:

{removeAttrs: { attrs: '(fill|stroke)' }}

缺點(diǎn)

好像是不能通過(guò)參數(shù)動(dòng)態(tài)改變 svg 內(nèi)容,沒(méi)試出來(lái),不知道什么原因。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容