vue预加载图片

        应用场景是项目中有一些访问频率较高的页面,且不希望压缩图片保证显示效果,例如一些宣传类的视觉。这时候我们选择牺牲一些首屏的加载时间,保证后续的访问速度。

imgPreloader.js

const imgPreloader = url => {
  return new Promise((resolve, reject) => {
    let image = new Image();
    image.onload = () => {
      console.log('加载完成' + image.src)
      resolve();
    }
    image.onerror = () => {
      reject();
    }
    image.src = url;
  })
}
export const imgsPreloader = () => {
  let promiseArr = [];
  // 获取preloadeimgs下的所有文件,这里我的preloadeimgs存储所有的需要预加载的图片
  const files = require.context("@/assets/preloadeimgs", false, /./)
  files.keys().forEach((file) => {
    console.log(file)
    promiseArr.push(imgPreloader(require('@/assets/preloadeimgs/' + file.split('/')[1])));
  });
  return Promise.all(promiseArr);
};

main.js

import { imgsPreloader } from './imgPreloader.js';
imgsPreloader().then(() => {
  new Vue({
    router,
    store,
    render: h => h(App)
  }).$mount('#app')
})

index.html

<div id="app">
  <!-- 这里你可以写一个好看的loading,vue挂载以后会替换dom -->
  <p>加载中...</p>
</div>

相关推荐

  1. vue图片

    2024-04-24 14:24:01       14 阅读
  2. 前端图片和懒

    2024-04-24 14:24:01       19 阅读
  3. vue + 动态图片

    2024-04-24 14:24:01       44 阅读
  4. Vue 图片失败处理

    2024-04-24 14:24:01       23 阅读
  5. Vue项目动态图片

    2024-04-24 14:24:01       17 阅读
  6. Vue3实现图片

    2024-04-24 14:24:01       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 14:24:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 14:24:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 14:24:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 14:24:01       20 阅读

热门阅读

  1. 图像处理之HOG特征(C++)

    2024-04-24 14:24:01       14 阅读
  2. Qt Android 动态加载动态库失败

    2024-04-24 14:24:01       15 阅读
  3. 第一个简单爬虫:获取页面

    2024-04-24 14:24:01       16 阅读
  4. spring boot 基础案例【1】在页面上打印hellow world

    2024-04-24 14:24:01       16 阅读
  5. 代码随想录算法训练营day38

    2024-04-24 14:24:01       12 阅读
  6. Kylin 使用心得

    2024-04-24 14:24:01       14 阅读
  7. Kotlin语法入门-自定义注解(7)

    2024-04-24 14:24:01       13 阅读