首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用node_modules中的SVG

使用node_modules中的SVG
EN

Stack Overflow用户
提问于 2020-05-29 00:36:34
回答 1查看 1.2K关注 0票数 3

我创建了一个带有所有svg文件的node_module来模块化我们的体系结构。

当我使用以下方法调用它时,它可以正常工作:

代码语言:javascript
运行
AI代码解释
复制
<q-icon>
  <svg>
    <use xlink:href="~svgmodule/svgs/icons.svg#addicon"></use>
  </svg>
</q-icon>

然而,当这样做时:

代码语言:javascript
运行
AI代码解释
复制
<q-icon>
  <svg>
    <use :xlink:href="'~svgmodule/svgs/icons.svg#' + iconParameter"></use>
  </svg>
</q-icon>

iconParameter的定义如下:

代码语言:javascript
运行
AI代码解释
复制
iconParameter: 'addicon'

这是我正在犯的错误:

代码语言:javascript
运行
AI代码解释
复制
vue.runtime.esm.js?0594:6757 GET http://localhost:8080/~svgmodule/svgs/icons.svg net::ERR_ABORTED 404 (Not Found)

我也试过了,效果很好:

代码语言:javascript
运行
AI代码解释
复制
<use xlink:href="../../../../../../../../node_modules/svgmodule/svgs/icons.svg#addicon"></use>

但这张没有:

代码语言:javascript
运行
AI代码解释
复制
<use :xlink:href="'../../../../../../../../node_modules/svgmodule/svgs/icons.svg#' + iconParameter"></use>

Nor

代码语言:javascript
运行
AI代码解释
复制
<use :xlink:href="'../../../../../../../../node_modules/svgmodule/svgs/icons.svg#addicon'"></use>

救命!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-29 01:22:18

vue-loader不将表达式转换为webpack模块请求。

您必须手动调用requireThis is what vue-loader does internally

代码语言:javascript
运行
AI代码解释
复制
<q-icon>
  <svg>
    <use :xlink:href="require('~svgmodule/svgs/icons.svg') + '#' + iconParameter"></use>
  </svg>
</q-icon>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62081876

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文