老师好,动态加载图片的时候报错了

来源:3-8 ESLint 配置实践

weixin_慕桂英5062843

2023-03-03

图片描述图片描述图片描述

写回答

1回答

keviny79

2023-03-03

vite 版本升级后,书写发生了变化,下面有两处修改改后再测下:

import storage from 'good-storage'

export class LmgLoader {

  static imgList: Record<string, any> = {}


  static async getimgList() {

    this.imgList = storage.get('imgList') || {}

    // 修改1:

    if (!LmgLoader.imgList || !LmgLoader.isNotEmptyimgList()) {

      this.imgList = LmgLoader.getImgAll()

      storage.set('imgList', LmgLoader.imgList)

    }

  }


  static isNotEmptyimgList() {

    return Object.getOwnPropertyNames(LmgLoader.imgList).length

  }

  static getImg(name: string): string {

    //console.log('name:', name)

    // LmgLoader.imgList = LmgLoader.isNotEmptyimgList() ? LmgLoader.imgList : storage.get('imgList')

    return LmgLoader.imgList[name] //

  }


  static getImgAll(): any {

    const imgList: any = {}

    //  修改2:

    const viewImgModules: Record<string, any> = import.meta.glob(`../assets/img/**/**/*.png`, { eager: true })

    // import.meta.globEager(`../assets/img/**/**/*.png`)

    for (const path in viewImgModules) {

      if (viewImgModules[path].default) {

        const pathName = path.substring(path.lastIndexOf('/') + 1)

        imgList[pathName] = viewImgModules[path].default

      }

    }

    storage.set('imgList', this.imgList)

    return imgList

  }

}


export default LmgLoader.getImg


0
0

前端高手养成计划-从前端到后端,全栈开发大型项目

从纯前端到“真正懂后端的前端”

215 学习 · 134 问题

查看课程