我并不想把一些图片放在/src 里,于是我试着创建了一个和项目 vue_code 同级的文件夹 photoData ,把图片放在里面。现在我打开网页时好像没法正确获取图片。
经过查找资料,我现在使用的写法是:
<img v-for="photo in photos" :key="photo.photo_id" :src="require('D:/vueproject/code' + photo.photo_path)" />
但这种写法似乎会导致运行时需要 build 的 modules 数无限增大。请问下我正确的写法应当是什么。
1
lisongeee 2023-12-04 23:31:39 +08:00
提前将 D:/vueproject/code 的 图片文件 使用 require.context 按需加载
如果是 vite 可以使用 import.meta.glob |
2
cuttlefish 2023-12-05 13:17:05 +08:00
不大明白,这样子引入目的是为了啥。
|
3
coolcoffee 2023-12-05 14:18:34 +08:00 1
你这种依赖系统路径的项目,换个电脑要怎么跑?
你为啥不把图片文件都放在 public 目录里面,然后用 “/” 路径直接访问,或者是直接丢 oss+cdn 直接全外部依赖。 |
4
flyqie 2023-12-05 14:40:08 +08:00 via Android
无论如何都不要在项目源码里使用绝对路径。
|
5
nashaofu 2023-12-05 18:27:47 +08:00 via Android
require.context 好像可以,很久没用了
|
6
sucaiking OP 感谢各位坛友。几番试错后我发现自己一开始的想法及其离谱,用../去找父目录也很蠢。作为不需要太过讲究的课程作业,我最后的解决方案是用 http-server 起了个本地服务器,配置好端口之后用作图片源。
|