javascript - vue + quill - 图标显示为文本(由文件加载器引起)

标签 javascript vue.js vuejs2 quill

更新以展示重复的问题

SVG 正在通过文件加载器导入,但我无法使用 raw-loaderhtml-loader:https://codesandbox.io/s/llr8x89j47

enter image description here

目前将其显示为“img/redo.01da1a6f.svg”而不是

<svg viewbox="0 0 18 18"> <polygon class="ql-fill ql-stroke" points="12 10 14 12 16 10 12 10"></polygon> <path class="ql-stroke" d="M9.91,13.91A4.6,4.6,0,0,1,9,14a5,5,0,1,1,5-5"></path> </svg>

我无法用当前最有希望的答案来解决这个问题。

最佳答案

发生这种情况是因为 quill 期望图像是原始 svg 字符串。 要修复它,请添加 raw-loaderhtml-loader 并修改您的 vue.config.js

module.exports = {
  chainWebpack: config => {
    // Exclude quill assets from file-loader
    config.module
      .rule("svg")
        .exclude
          .add(/node_modules[\\/]quill/)
          .end()

    // Add rule to load quill svg images as raw strings
    config.module
      .rule('quill-svg')
        .include
          .add(/node_modules[\\/]quill/)
          .end()
        .test(/\.(svg)(\?.*)?$/)
        .use('raw-loader')
          .loader('raw-loader')
  }
};

如果您有想要与 quill 一起使用的自定义 svg 文件,您可以添加其他 include 规则。

关于javascript - vue + quill - 图标显示为文本(由文件加载器引起),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55192072/

相关文章:

javascript - 函数不会在 .html() jQuery 之后调用

node.js - 是否可以将 Nuxt 应用程序作为包发布在 NPM 上,以便在另一个 Nuxt 应用程序中重用?如果是,我该怎么做?

javascript - 在 native javascript中动态插入框架集内的框架作为第一框架?

javascript - Ruby on Rails : How to TDD with javascript:void(0) route

javascript 图像平移 'blocking' 导航链接并使 div 元素不透明

vue.js - 过滤接受小写或大写字符串的帖子列表

vue.js - vue 将字符串渲染为已存在的组件

css - 如何更改 vuejs 食谱中可编辑 Svg 图标系统中图标的颜色?

vuejs2 - 在标题上显示/隐藏分组行单击 Vuetify2(v-data-table 组件)

vue.js - Axios 参数未正确附加到 URL