vue裡面引入svg

2021-10-10 23:45:00 字數 2151 閱讀 2114

我們都知道在引入svg時是不可以直接使用的

如果我們直接使用import引入會直接報錯,在這裡我們就需要做一些配置了

首先在乙個以 .d.ts 結尾的檔案裡面新增下面的**

declare

module

"*.svg"

這樣就不會報錯了,但是到這裡我們都還不可以直接使用

這裡我們匯入的只是乙個路徑,並不是我們想要的svg檔案,這裡我們就需要乙個loader將這個路徑裡面的內容轉化為我們想要的svg

這裡我們需要先安裝這個loader

npm install svg-sprite-loader -d

#via yarn

yarn add svg-sprite-loader

在vue.config.js裡面新增下面的**

const path =

require

('path'

)module.exports =).

end().

use(

'svgo-loader').

loader

('svgo-loader').

tap(options =>(}

]}))

.end()

config.

plugin

('svg-sprite').

use(

require

('svg-sprite-loader/plugin'),

) config.module.

rule

('svg'

).exclude.

add(dir)

}}

配置好之後我們只需要在想要使用svg的地方新增svg標籤就好了

如下

>

//***是想要引入的svg的名字

svg>

當然上面使用這個svg時我們是需要引入的但是呢當svg比較多時就會這就會成為一件很繁瑣的事情,那麼有沒有什麼方法可以讓我們一次全部把所有的svg引入呢,這裡我們可以直接引入乙個icons目錄

我們只需要新增下面的**新增到你想要引入到的元件就可以直接引入乙個存放svg的目錄

let

importall

=(requirecontext:__webpackmoduleapi.requirecontext)

=> requirecontext.

keys()

.foreach

(requirecontext)

;try

catch

在使用svg時我們會遇到乙個坑,那就是當svg自帶有fill屬性時我們通過css是無法改變它的顏色的

所以我們需要將svg自帶的fill屬性刪掉,但是當svg比較多是,乙個乙個的刪就比較麻煩了,所以我們就需要批量的刪除svg的自帶的fill屬性

這裡我們需要先安裝svgo-loader

npm install svgo-loader -d

#via yarn

yarn add --dev svgo-loader

然後在vue.config.ts裡面加入下面的**

const path =

require

('path'

)module

.exports =).

end(

)//刪除svg自帶的fill屬性

.use

('svgo-loader').

loader

('svgo-loader').

tap(options =>(}

]}))

.end()

config.

plugin

('svg-sprite').

use(

require

('svg-sprite-loader/plugin'),

) config.

module

.rule

('svg'

).exclude.

add(dir)

}}

vue裡面引入jq的方法

1 因為已經安裝了vue腳手架,所以需要在webpack中全域性引入jquery 開啟package.json檔案,在裡面加入這行 jquery後面的是版本,根據你自己需求更改。dependencies 然後在命令列中cnpm install 大多人應該都是使用的 映象,所以使用cnpm,如果你不是...

非常簡單的vue裡面引入jquery

如何在vue裡面引入jq了,只需四部就完成 第一步 cnpm install jquery 第二步 開啟build資料夾 開啟webpack.base.conf.js檔案找到下面module.exports module.exports 第三步 還是在build資料夾,開啟webpack.prod....

vue學習筆記 在vue專案裡面使用引入公共方法

首先新建乙個資料夾 commonfunction 然後在裡面建立 乙個檔案common.js 建立好之後,在main.js裡面引入這個公共方法 最後是呼叫這個公共方法 測試一下,我在公共方法裡面寫了乙個簡單的一段 如下 export default 1 2345 如何在我的login.vue裡面控制...