vue-cli

webpack環(huán)境下

一、打包路徑問題

 解決:到config文件夾中打開index.js文件,更改build里面的assetsPublicPath屬性為"./"。

二、配置scss

1.安裝依賴

npm install node-sass --save-dev
npm install sass-loader --save-dev

2.在用scss的地方寫上

<style lang='scss'></style>

三、配置svg-sprite-loader

1.安裝依賴

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

2.到build文件夾中打開webpack.base.conf.js文件,加上

{ //options不設置的話,symbolId默認圖標文件名
    test: /\.svg$/,
    loader: 'svg-sprite-loader',
    include: [resolve('圖標路徑')],
    options: {
      symbolId: 'icon-[name]'
    }
}

3.接著上一步,在另一個svg的loader中去掉圖標路徑

exclude: [resolve('圖標路徑')]

4.在script中引入圖標路徑,語句結尾不加分號,es6規(guī)范。

import '目標圖標路徑'

5.上一步麻煩,我們通過require引入所有

const requireAll = requireContext => requireContext.keys().map(requireContext)
const req = require.context('圖標路徑', true, /\.svg$/)
requireAll(req)

6.接下來通過標簽使用圖標,記得加上#

<svg class='圖標樣式'>
    <use xlink:href='#圖標名'></use>
</svg>

7.還是麻煩,封裝成組件吧

<template>
  <svg class="icon">
    <use :xlink:href="iconName"></use>
  </svg>
</template>
<script>
const requireAll = requireContext => requireContext.keys().map(requireContext)
const req = require.context('圖標路徑', true, /\.svg$/)
requireAll(req)
export default {
  props: ['name'],
  computed: {
    iconName() {
      return '#' + this.name
    }
  }
}
</script>
<style>
.icon {
  width: 32px;
  height: 32px;
}
</style>

8.over,可以愉快的使用了

//引入組件
import 組件名 from '組件路徑'
export default {
  components: { 組件名 }
}
//通過標簽使用
<組件名 name='圖標名'></icon>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容