vue3+vite中多张图片遍历不显示问题!

作者在尝试使用Vue3和Vite框架时遇到动态引入静态文件的挑战,Vue3不再支持require()。文中提到,单个文件可以使用相对路径解决,但多个文件在data中定义并遍历显示不出来。官方推荐的newURL()结合import.meta.url在开发环境有效,但在生产环境中出现问题。最后,作者采取了逐个import文件到数组的折衷方法,虽然不解为何直接放入URL无效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一次用vue3+vite的框架去写页面,因为vue3中去掉了require()动态引入的方式,特别不方便,

后面去vite官方文档找替代方法,

具体内容可自行查看:静态资源处理 | Vite 官方中文文档 (vitejs.dev)

其实单个静态文件可以使用相对路径去引用就ok,不要用绝对路径,开发环境正常,放到正式环境会有问题的。

然后就是多个静态文件,在data定义数组,然后遍历,是显示不出来的(我是这样,不晓得各位行不行!),如上图,用了官方推荐的方法,new URL() + import.meta.url

在开发环境可以,但是在正式环境也不行,很奇怪。。。。。还是没能解决!

最后最后!!!

用了一种最蠢的方法,用import...from...的方式引入每张图片,去定义到数组里面

有人会问了,为什么不直接放到url里面呢?还多一步去引入
哈哈哈哈,因为我也不太理解,放到里面就是不行啊!有懂哥的可以告诉我!谢谢

 

 

### 设备地图展示功能的实现 要在 Vue3Vite 项目中集成设备地图展示功能,可以考虑使用一些流行的 JavaScript 地图库,例如 Leaflet 或 Mapbox GL JS。这些工具提供了丰富的 API 来支持地理数据可视化以及交互操作。 #### 推荐的地图插件 以下是两个常用的开源地图库及其特点: 1. **Leaflet** - 轻量级且易于上手的地圖庫。 - 支持多种瓦片服务(Tile Services),适合简单到复杂的地图需求。 - 提供详细的文档和活跃社区支持。 2. **Mapbox GL JS** - 功能强大,支持矢量瓦片和样式定制。 - 可通过自定义样式文件创建高度个性化的地图界面。 - 对于复杂的数据渲染和高性能要求的应用场景尤为适用。 #### 实现步骤概述 下面提供了一个基于 Leaflet 的示例代码片段,演示如何在 Vue3/Vite 环境下加载并显示基本地图,并标注设备位置点。 --- ### 示例代码:使用 Leaflet 展示设备地图 首先安装所需依赖项: ```bash pnpm add leaflet @types/leaflet ``` 接着,在组件中引入并初始化地图实例: ```javascript <template> <div id="map-container"></div> </template> <script setup lang="ts"> import * as L from &#39;leaflet&#39;; import &#39;leaflet/dist/leaflet.css&#39;; // 定义设备坐标数组 (纬度, 经度) const devicesPositions = [ [40.7128, -74.0060], // New York City [34.0522, -118.2437], // Los Angeles ]; onMounted(() => { const mapContainer = document.getElementById(&#39;map-container&#39;); if (!mapContainer) return; // 初始化地图对象 const map = L.map(mapContainer).setView([40.7128, -74.0060], 5); // 添加基础底图层 L.tileLayer(&#39;https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png&#39;, { maxZoom: 19, attribution: &#39;© OpenStreetMap contributors&#39;, }).addTo(map); // 循环绘制标记 devicesPositions.forEach((position) => { L.marker(position) .addTo(map) .bindPopup(`Device at ${position}`) .openPopup(); }); }); </script> <style scoped> #map-container { height: 500px; } </style> ``` 上述代码实现了以下功能: - 使用 `L.map` 方法创建地图容器[^1]。 - 设置初始视图中心点及缩放级别。 - 加载来自 OpenStreetMap 的免费瓦片服务作为背景地图[^3]。 - 遍历设备的位置列表,并为每个位置添加一个带有弹窗提示信息的标记。 --- ### 注意事项 当尝试扩展此功能时,请注意以下几点: - 如果需要更高级别的地图样式调整或性能优化,则可以选择迁移到 Mapbox GL JS 并订阅其专业版服务[^2]。 - 确保遵循所选地图服务商的相关条款与条件,特别是对于商业用途可能涉及的成本因素。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值