在Toast-UI Vue图像编辑器中未显示SVG图标

时间:2019-01-25 04:19:06

标签: vue.js vue-cli

我正在使用vue-clitoast-ui-vue-image-editor

// vue.config.js
const path = require('path')
let HardSourceWebpackPlugin = require('hard-source-webpack-plugin')

module.exports = {

  chainWebpack: config => {
    config.module
      .rule('svg')
      .use('file-loader')
      .options({
        name: '[name].[ext]',
        outputPath: ''
      })
  }

并在Vue组件中添加了这些行

import 'tui-image-editor/dist/svg/icon-a.svg'
import 'tui-image-editor/dist/svg/icon-b.svg'
import 'tui-image-editor/dist/svg/icon-c.svg'
import 'tui-image-editor/dist/svg/icon-d.svg'
import { ImageEditor } from '@toast-ui/vue-image-editor'

一切正常,但编辑器工具“ Svg”图标未显示。请参阅编辑器的最底部,在其中显示白色正方形而不是图标(撤消,重做,裁剪等) image

1 个答案:

答案 0 :(得分:0)

我对此表示希望,希望这对以后的人有所帮助。

我也遇到了这个问题,并用answer from this link解决了问题

这是我的脚本部分!

import 'tui-image-editor/dist/tui-image-editor.css'
import ImageEditor from '@toast-ui/vue-image-editor/src/ImageEditor.vue'
export default {
  name: 'ToastUI',
  components: {
    'image-editor': ImageEditor
  },
  data () {
    const icona = require('tui-image-editor/dist/svg/icon-a.svg')
    const iconb = require('tui-image-editor/dist/svg/icon-b.svg')
    const iconc = require('tui-image-editor/dist/svg/icon-c.svg')
    const icond = require('tui-image-editor/dist/svg/icon-d.svg')
    var whiteTheme = {
      'menu.normalIcon.path': icond,
      'menu.activeIcon.path': iconb,
      'menu.disabledIcon.path': icona,
      'menu.hoverIcon.path': iconc,
      'submenu.normalIcon.path': icond,
      'submenu.activeIcon.path': iconb,
      'common.bi.image': 'https://uicdn.toast.com/toastui/img/tui-image-editor-bi.png',
      'common.bisize.width': '251px',
      'common.bisize.height': '21px',
      'common.backgroundImage': './img/bg.png',
      'common.backgroundColor': '#fff',
      'common.border': '1px solid #c1c1c1',
    }
    return {
      useDefaultUI: true,
      options: {
        includeUI: {
          loadImage: {
            path: '',
            name: ''
         },
          theme: whiteTheme,
          initMenu: '',
          menuBarPosition: 'bottom',
          menu: ['crop', 'flip', 'rotate', 'draw', 'shape', 'icon', 'text', 'mask'], //, 'filter',
        },
        cssMaxWidth: document.documentElement.clientWidth,
        cssMaxHeight: document.documentElement.clientHeight,
        selectionStyle: {
          cornerSize: 20,
          rotatingPointOffset: 70
        }
      }
   }
 }
}