assetLoader.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // 静态资源加载工具
  2. // 用于在 Vite 环境中加载静态资源
  3. /**
  4. * 加载图片资源
  5. * @param {string} path 图片路径
  6. * @returns {string} 图片URL
  7. */
  8. export function loadImage(path) {
  9. // 在 Vite 中,我们可以直接使用相对路径
  10. // 或者使用 new URL() 方法
  11. if (path.startsWith('@/')) {
  12. // 将 @/ 替换为 /src/
  13. return path.replace('@/', '/src/');
  14. }
  15. return path;
  16. }
  17. /**
  18. * 批量加载图片资源
  19. * @param {Object} imageMap 图片映射对象
  20. * @returns {Object} 处理后的图片映射
  21. */
  22. export function loadImages(imageMap) {
  23. const result = {};
  24. for (const [key, path] of Object.entries(imageMap)) {
  25. result[key] = loadImage(path);
  26. }
  27. return result;
  28. }
  29. /**
  30. * 动态加载图片(用于模板中的动态路径)
  31. * @param {string} basePath 基础路径
  32. * @param {string} fileName 文件名
  33. * @returns {string} 完整的图片URL
  34. */
  35. export function loadDynamicImage(basePath, fileName) {
  36. return loadImage(`${basePath}/${fileName}`);
  37. }
  38. export default {
  39. loadImage,
  40. loadImages,
  41. loadDynamicImage
  42. };