我用所有svg文件创建了一个node_module来模块化我们的架构。
当我使用以下命令调用它时,它工作正常:
<q-icon>
<svg>
<use xlink:href="~svgmodule/svgs/icons.svg#addicon"></use>
</svg>
</q-icon>
但是,当这样做时:
<q-icon>
<svg>
<use :xlink:href="'~svgmodule/svgs/icons.svg#' + iconParameter"></use>
</svg>
</q-icon>
并且iconParameter
定义如下:
iconParameter: 'addicon'
这是我得到的错误:
vue.runtime.esm.js?0594:6757 GET http://localhost:8080/~svgmodule/svgs/icons.svg net::ERR_ABORTED 404 (Not Found)
我也试过了,它有效:
<use xlink:href="../../../../../../../../node_modules/svgmodule/svgs/icons.svg#addicon"></use>
但是这个没有:
<use :xlink:href="'../../../../../../../../node_modules/svgmodule/svgs/icons.svg#' + iconParameter"></use>
也不
<use :xlink:href="'../../../../../../../../node_modules/svgmodule/svgs/icons.svg#addicon'"></use>
救命!!
vue-loader
不会将表达式转换为webpack模块请求。
您必须手动致电require
。这是vue-loader
内部执行的操作。
<q-icon>
<svg>
<use :xlink:href="require('~svgmodule/svgs/icons.svg') + '#' + iconParameter"></use>
</svg>
</q-icon>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句