我找到了在NuxtJS中使用内联SVG的最佳软件包,可以将其呈现为HTML。我使用这个包:svg-inline-loader。它显示SVG HTML,但必须在文档中插入所有SVG才能使用:查看此示例。它必须具有插入<svg v-html="require('~/assets/sprite.svg')"></svg>
才能渲染SVG。
你们知道哪种包装更适合内联SVG吗?
是的,请使用vue-svg-loader
。
使用npm
或进行安装yarn
:
npm install --save-dev vue-svg-loader
yarn add --dev vue-svg-loader
Run Code Online (Sandbox Code Playgroud)
然后配置您的webpack配置:
{
test: /\.svg$/,
loader: 'vue-svg-loader'
}
Run Code Online (Sandbox Code Playgroud)
编辑:或与vue-cli-3.*
(在中vue.config.js
):
chainWebpack: config => {
const svgRule = config.module.rule('svg')
svgRule.uses.clear()
svgRule
.use('vue-svg-loader')
.loader('vue-svg-loader')
.options({
svgo: false
})
}
Run Code Online (Sandbox Code Playgroud)
最后是.vue
文件中的用法示例:
<template>
<nav id="menu">
<a href="...">
<SomeIcon class="icon" />
Some page
</a>
</nav>
</template>
<script>
import SomeIcon from './assets/some-icon.svg'
export default {
name: 'menu',
components: { SomeIcon }
}
</script>
Run Code Online (Sandbox Code Playgroud)
查看更多:docs。
归档时间: |
|
查看次数: |
2896 次 |
最近记录: |