Loading... # 问题 nuxt的[官方文档](https://nuxt.com/docs/getting-started/assets)的静态文件引用方法   但是实际上在Vue中,当文件在assets下时这样写是有问题的 ```vue <v-img src="~/assets/icon/question.svg" /> ``` 这个时候的请求路径是  可以发现我们配置的别名(`@`或`~`)并没有被正确解析 再来看下正常的assets文件应该在哪个路径访问,这是我放在assets下的字体文件   所以访问路径是`http://domain:port/_nuxt/assets/...` # 解决方法 所以第一个解决方法你肯定想到 ```vue <v-img src="/_nuxt/assets/icon/question.svg" /> ``` 但如果这么解决那这个帖子也不用写了 --- 注意:我们的别名是在打包工具上配置的,`vue`不认的话,`js`肯定认啊,那我们直接在`js`中拿到地址就行了 所以参考这个[帖子](https://stackoverflow.com/questions/66419471/vue-3-vite-dynamic-image-src) **解决方法** ```vue <template> ... <v-img :src="imageUrl" /> ... </template> <script setup lang="ts"> const imageUrl = new URL('~/assets/icon/question.svg', import.meta.url).href </script> ``` 或者如果你使用的是nuxt,直接将静态文件放入public目录下,根据官方文档使用即可 最后修改:2024 年 04 月 15 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏
5 条评论
这篇文章提供了宝贵的经验和见解,对读者有很大的启发和帮助。
跨界融合的尝试为文章注入新鲜活力。
修辞手法运用娴熟,比喻贴切,感染力强。
每一个段落都紧密相连,逻辑清晰,展现了作者高超的写作技巧。
文章的叙述风格独特,用词精准,让人回味无穷。