创建icons/svg文件夹将svg文件放在该文件夹下面在components文件夹中创建svgiconfont.vue文件文件内容:[removed] import '@/icons' export default { name: 'svg-icon', props: { iconClass: { type: String, required: true }, className: { type: String } }, computed: { iconName() { return `#icon-${this.iconClass}` }, svgClass() { if (this.className) { console.log('svg-icon ' + this.className) return 'svg-icon ' + this.className } else { return 'svg-icon' } } }, mounted: function() { } }[removed]style .svg-icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden; }创建index.js文件文件内容如下:import Vue from 'vue'import svgiconfont from '@/components/svgiconfont'// svg组件/*require.context有三个参数:directory:说明需要检索的目录useSubdirectories:是否检索子目录regExp: 匹配文件的正则表达式 */// 全局注册Vue.component('svg-icon', svgiconfont)const requireAll = requireContext => requireContext.keys().map(requireContext)const req = require.context('./svg', false, /\.svg$/)requireAll(req)在main.js引入icons文件夹下即添加import ‘@/icons’修改webpack.base.conf.js添加代码:{ test: /\.svg$/, loader: "svg-sprite-loader", include: [resolve("src/icons")], options: { symbolId: "icon-[name]" } }, { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'url-loader', exclude: [resolve("src/icons")], options: { limit: 50000, name: utils.assetsPath('img/[name].[hash:7].[ext]') } }使用方法在页面中添加
有部分浏览器并不支持svg,你是否考虑使用svg取决于你!矢量图形的详细介绍:http://www.ibm.com/developerworks/cn/web/wa-scalable/----------------------你的困惑请参阅:http://www.w3school.com.cn/html5/html_5_svg.asphttp://www.w3school.com.cn/svg/svg_inhtml.asp