国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【VUE】解決圖片視頻加載緩慢/首屏加載白屏的問題

這篇具有很好參考價值的文章主要介紹了【VUE】解決圖片視頻加載緩慢/首屏加載白屏的問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-562498.html

【VUE】解決圖片視頻加載緩慢/首屏加載白屏的問題,VUE,vue.js,javascript,前端,頁面加載

1 問題描述

在 Vue3 項目中,有時候會出現(xiàn)圖片視頻加載緩慢、首屏加載白屏的問題

2 原因分析

通常是由以下原因?qū)е碌模?/p>

  1. 圖片或視頻格式不當:如果圖片或視頻格式選擇不當,比如選擇了無損壓縮格式,可能會導致文件大小過大,從而影響加載速度。

  2. 頁面中同時加載了大量的圖片和視頻,導致請求次數(shù)過多,網(wǎng)絡傳輸速度受限,從而影響頁面加載速度。

  3. 頁面中的圖片和視頻沒有進行優(yōu)化處理,比如沒有進行壓縮、沒有使用 CDN 加速等。

  4. 頁面的 HTML、CSS、JavaScript 代碼沒有進行優(yōu)化,比如沒有使用 webpack 進行打包、沒有使用代碼分割技術(shù)等,導致頁面加載時間過長。

  5. 頁面中的圖片和視頻沒有使用懶加載技術(shù),導致頁面一次性加載過多的資源,從而導致頁面加載速度變慢。

  6. 網(wǎng)絡狀況不佳,比如網(wǎng)絡延遲、帶寬受限等,都可能導致圖片和視頻加載緩慢。

  7. 服務器響應時間過長:如果服務器響應時間過長,會導致頁面請求資源的時間變慢,從而影響頁面加載速度。

  8. 使用了不穩(wěn)定的第三方庫:如果使用了不穩(wěn)定的第三方庫或者組件,可能會導致頁面加載速度變慢。

  9. 瀏覽器緩存策略不當:如果瀏覽器緩存策略設置不當,可能會導致瀏覽器重復請求資源,從而影響頁面加載速度。

  10. 網(wǎng)絡安全策略較為嚴格:如果網(wǎng)絡安全策略較為嚴格,可能會導致瀏覽器請求資源時遇到一些限制,從而影響頁面加載速度。

因此,在開發(fā) Vue3 項目時,需要注意對圖片和視頻進行優(yōu)化處理,減少請求次數(shù),使用懶加載技術(shù),優(yōu)化代碼等,來提升頁面加載速度,避免出現(xiàn)加載緩慢、首屏加載白屏的問題。

3 解決方案

圖片和視頻加載緩慢、導致首屏加載白屏的問題,通常可以從以下幾個方面入手來解決:

  1. 圖片和視頻的優(yōu)化
  2. 懶加載
  3. 骨架屏
  4. 代碼優(yōu)化

3.1?圖片和視頻的優(yōu)化

可以通過圖片壓縮、視頻壓縮等技術(shù)來減小文件大小,從而提高加載速度。同時,還可以通過 CDN 加速來加快資源加載速度。

可以從以下幾個方法入手:

  1. 壓縮圖片或視頻
  2. 選擇合適的圖片或視頻格式
  3. 使用圖片或視頻 CDN 加速
  4. 使用懶加載技術(shù)

3.1.1 壓縮圖片或視頻

可以使用圖片或視頻壓縮工具,將文件大小壓縮至合適的大小。對于圖片,可以使用在線圖片壓縮工具或者 Photoshop 等圖片編輯軟件進行壓縮;對于視頻,可以使用視頻壓縮軟件,如 HandBrake 等進行壓縮。

壓縮工具推薦

以下是幾個常用的在線圖片壓縮工具:

  • TinyPNG(tinypng.com)

TinyPNG 是一個免費的在線圖片壓縮工具,可以將 PNG 和 JPEG 格式的圖片壓縮至合適的大小,而且不會影響圖片質(zhì)量。

  • Compressor.io(compressor.io)

Compressor.io 是一個免費的在線圖片壓縮工具,可以壓縮 JPEG、PNG、SVG 和 GIF 等格式的圖片。它可以將圖片壓縮至較小的大小,而且不會影響圖片質(zhì)量。

  • Kraken(kraken.io)

Kraken 是一個在線圖片優(yōu)化和壓縮服務,可以將 JPEG、PNG 和 GIF 等格式的圖片壓縮至最小的文件大小。Kraken 還提供了 API 接口,可以方便地集成到項目中。

  • ImageOptim(imageoptim.com)

ImageOptim 是一個免費的圖片優(yōu)化工具,它可以自動壓縮 JPEG、PNG 和 GIF 等格式的圖片,并且可以自動刪除圖片中的元數(shù)據(jù)和不必要的信息,從而減小文件大小。

3.1.2 選擇合適的圖片或視頻格式

選擇合適的圖片或視頻格式也可以減小文件大小。例如,對于圖片,可以選擇 JPEG 或者 WebP 格式,對于視頻,可以選擇 H.264 或者 H.265 格式。

3.1.3 使用圖片或視頻 CDN 加速

可以使用圖片或視頻 CDN 加速,將圖片或視頻資源分布在全球各地的 CDN 節(jié)點上,從而加快資源的傳輸速度,提高頁面加載速度。

3.1.4 使用懶加載技術(shù)

可以使用懶加載技術(shù),將圖片或視頻的加載延遲到用戶需要訪問它們時再加載,從而減少頁面一次性請求過多的資源,提高頁面加載速度。

3.2?懶加載

使用懶加載技術(shù),可以將圖片和視頻的加載延遲到用戶需要訪問它們時再加載,從而減少頁面一次性加載過多的資源,提高首屏加載速度。

以下是使用懶加載技術(shù)實現(xiàn)圖片和視頻懶加載的方法:

使用 Intersection Observer API

使用 Intersection Observer API

Intersection Observer API 是一種新的瀏覽器 API,可以監(jiān)聽指定元素是否進入了視口,從而觸發(fā)回調(diào)函數(shù)。

可以通過監(jiān)聽圖片或視頻元素是否進入了視口,從而觸發(fā)加載圖片或視頻的操作。

使用示例?

當然可以,下面是一個使用?Intersection Observer API?實現(xiàn)圖片懶加載的 Vue 3 示例:

在組件中引入?Intersection Observer?API

在 Vue 3 中,可以通過在組件中使用?onMounted?鉤子函數(shù)來引入 Intersection Observer API:

<template>
  <img v-for="image in images" :key="image.id" :src="image.placeholder" :data-src="image.src" alt="">
</template>

<script>
import { onMounted } from 'vue';

export default {
  name: 'LazyLoadImages',
  data() {
    return {
      images: [
        {
          id: 1,
          src: 'path/to/image1.jpg',
          placeholder: 'path/to/placeholder1.jpg'
        },
        {
          id: 2,
          src: 'path/to/image2.jpg',
          placeholder: 'path/to/placeholder2.jpg'
        },
        // ...
      ]
    };
  },
  setup() {
    onMounted(() => {
      // 創(chuàng)建 IntersectionObserver 實例
      const observer = new IntersectionObserver(entries => {
        entries.forEach(entry => {
          if (entry.isIntersecting) {
            const lazyImage = entry.target;
            lazyImage.src = lazyImage.dataset.src;
            lazyImage.removeAttribute('data-src');
            observer.unobserve(lazyImage);
          }
        });
      });

      // 監(jiān)聽圖片元素
      const lazyImages = document.querySelectorAll('img[data-src]');
      lazyImages.forEach(image => {
        observer.observe(image);
      });
    });
  }
};
</script>

在上面的示例中,通過?onMounted?鉤子函數(shù)創(chuàng)建了 IntersectionObserver 實例,并在其中監(jiān)聽了所有帶有 "data-src" 屬性的圖片元素。

當圖片元素進入視口時,我們通過?isIntersecting?屬性判斷圖片是否進入了視口,如果進入了視口就將 "data-src" 屬性的值賦給 "src" 屬性,從而加載圖片資源,同時移除 "data-src" 屬性,避免重復加載。

最后,通過?unobserve?方法停止監(jiān)聽圖片元素。

這樣,就成功地使用 Intersection Observer API 實現(xiàn)了圖片的懶加載。

使用第三方庫

除了使用?Intersection?Observer API,還可以使用一些第三方庫來實現(xiàn)圖片和視頻的懶加載,

如 LazyLoad、Lozad.js、LazyLoad-xt 等。這些庫可以更快速地實現(xiàn)懶加載效果,并提供了更多的配置選項,例如觸發(fā)懶加載的條件、動畫效果等。具體使用方法可以參考它們的官方文檔。

使用示例

當然可以,以下是一個使用 LazyLoad 庫實現(xiàn)圖片懶加載的 Vue 3 示例:

安裝和引入 LazyLoad 庫

在終端中安裝 LazyLoad 庫:

npm install lazyload --save

然后,在 Vue 3 組件中引入 LazyLoad 庫:

<template>
  <img v-for="image in images" :key="image.id" :src="image.placeholder" data-src="image.src" alt="">
</template>

<script>
import LazyLoad from 'lazyload';

export default {
  name: 'LazyLoadImages',
  data() {
    return {
      images: [
        {
          id: 1,
          src: 'path/to/image1.jpg',
          placeholder: 'path/to/placeholder1.jpg'
        },
        {
          id: 2,
          src: 'path/to/image2.jpg',
          placeholder: 'path/to/placeholder2.jpg'
        },
        // ...
      ]
    };
  },
  mounted() {
    // 初始化 LazyLoad
    const lazyLoadInstance = new LazyLoad({
      elements_selector: 'img[data-src]',
      threshold: 0,
      // 配置選項
    });

    // 手動觸發(fā)加載
    lazyLoadInstance.update();
  }
};
</script>

在上面的示例中,

先通過?npm install?命令安裝了 LazyLoad 庫,并在組件中引入了該庫。

然后,在組件的?mounted?鉤子函數(shù)中初始化了 LazyLoad 并傳入了圖片元素的選擇器,以及其它一些配置選項。

最后,通過?update?方法手動觸發(fā)圖片的加載。

這樣,就成功地使用 LazyLoad 庫實現(xiàn)了圖片的懶加載。

除了圖片懶加載,LazyLoad 庫還可以用于懶加載視頻、背景圖等資源。具體使用方法可以參考 LazyLoad 的官方文檔。

3.3?骨架屏

骨架屏(Skeleton Screen)是一種頁面加載優(yōu)化的技術(shù),可以在頁面加載過程中顯示一個簡單的灰色框架,代替還未加載的內(nèi)容。骨架屏可以提高用戶體驗,讓用戶感覺頁面加載速度更快,同時也可以減少用戶的焦慮感。

在 Vue 3 中,可以使用一些第三方庫來實現(xiàn)骨架屏效果,例如 vue-skeleton-webpack-plugin、vue-content-loader、vue-loading-skeleton 等。

3.3.1 如何在Vue 3中使用vue-content-loader實現(xiàn)骨架屏效果?

vue-content-loader?是一個 Vue.js 組件庫,可以幫助我們實現(xiàn)骨架屏效果。它提供了多種預定義的 SVG 形狀,可以快速生成骨架屏模板,并且可以自定義顏色、大小、動畫等。

以下是在 Vue 3 中使用?vue-content-loader?實現(xiàn)骨架屏效果的步驟:

3.3.1.1 安裝和導入?vue-content-loader

在終端中使用 npm 安裝?vue-content-loader

npm install vue-content-loader

然后在需要使用的組件中導入?SkeletonLoader?組件:

import { SkeletonLoader } from 'vue-content-loader';
3.3.1.2 創(chuàng)建骨架屏模板

在模板中使用?SkeletonLoader?組件,并通過?type?屬性指定要使用的 SVG 形狀。例如,要使用矩形形狀可以這樣寫:

<template>
  <div>
    <SkeletonLoader :width="300" :height="200" type="rect" />
  </div>
</template>
3.3.1.3 自定義骨架屏模板

可以通過?vue-content-loader?提供的屬性來自定義骨架屏模板的顏色、大小、動畫等。例如,要改變矩形形狀的顏色和大小可以這樣寫:

<template>
  <div>
    <SkeletonLoader :width="300" :height="200" type="rect" :rect="{ rx: 5, ry: 5 }" :speed="1" :primaryColor="'#f3f3f3'" :secondaryColor="'#ecebeb'" />
  </div>
</template>

在上面的代碼中,我們通過?rect?屬性設置了矩形的圓角半徑,通過?speed?屬性設置了動畫速度,通過?primaryColor?和?secondaryColor?屬性設置了骨架屏的顏色。

以上就是在 Vue 3 中使用?vue-content-loader實現(xiàn)骨架屏效果的基本步驟。需要注意的是,vue-content-loader?組件庫提供了多種預定義的 SVG 形狀,你可以根據(jù)需求選擇合適的形狀,并通過屬性來自定義骨架屏的樣式和動畫。

3.3.2 使用 vue-skeleton-webpack-plugin 實現(xiàn)骨架屏的示例

vue-skeleton-webpack-plugin?是一個 Webpack 插件,可以幫助我們在打包過程中生成骨架屏模板,并自動注入到 HTML 文件中。

以下是使用?vue-skeleton-webpack-plugin?實現(xiàn)骨架屏的示例:

3.3.2.1 安裝和配置?vue-skeleton-webpack-plugin

在終端中使用 npm 安裝?vue-skeleton-webpack-plugin

npm install vue-skeleton-webpack-plugin

然后在 Vue 項目的?vue.config.js?文件中添加以下配置:

const VueSkeletonWebpackPlugin = require('vue-skeleton-webpack-plugin');

module.exports = {
  configureWebpack: {
    plugins: [
      new VueSkeletonWebpackPlugin({
        webpackConfig: {
          entry: {
            app: './src/skeleton.js' // 指定骨架屏入口文件
          }
        },
        insertAfter: '<div id="app"></div>', // 骨架屏注入位置
        minimize: true,
        quiet: true
      })
    ]
  }
};

在上面的示例中,我們指定了骨架屏的入口文件為?./src/skeleton.js,并通過?insertAfter?屬性指定了注入位置。

3.3.2.2 創(chuàng)建骨架屏模板

在項目中創(chuàng)建骨架屏模板,可以使用?vue-content-loader?或其他骨架屏工具來生成模板。

例如,創(chuàng)建了一個?Skeleton.vue?組件來定義骨架屏模板:

<template>
  <div>
    <SkeletonLoader :width="300" :height="200" type="rect" :rect="{ rx: 5, ry: 5 }" :speed="1" :primaryColor="'#f3f3f3'" :secondaryColor="'#ecebeb'" />
  </div>
</template>

<script>
import { SkeletonLoader } from 'vue-content-loader';

export default {
  name: 'Skeleton',
  components: {
    SkeletonLoader
  }
};
</script>
3.3.2.3 創(chuàng)建骨架屏入口文件

在項目中創(chuàng)建骨架屏入口文件?skeleton.js,用于生成骨架屏模板。

例如,在?skeleton.js?中創(chuàng)建了一個 Vue 實例,使用?Skeleton?組件作為根組件:

import Vue from 'vue';
import Skeleton from './components/Skeleton.vue';

new Vue({
  render: h => h(Skeleton)
}).$mount('#app');

在上面的代碼中,通過?render?函數(shù)將?Skeleton?組件渲染到 DOM 中的?#app?元素上。

3.3.2.4 注入骨架屏模板到 HTML 文件中

在 HTML 文件中,使用?vue-skeleton-webpack-plugin?提供的?Skeleton?標簽來注入骨架屏模板。

例如,在?public/index.html?文件中添加以下代碼:

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>My App</title>
</head>

<body>
  <Skeleton></Skeleton>
  <div id="app"></div>
</body>

</html>

在上面的代碼中,我們在?Skeleton?標簽中注入了骨架屏模板,并將真實內(nèi)容放在?app?標簽中。

3.3.2.5?打包項目并查看效果

在終端中運行以下命令打包項目:

npm run build

打包完成后,打開生成的?index.html?文件,即可看到骨架屏效果。在加載真實內(nèi)容之前,頁面會顯示骨架屏模板,提升用戶體驗。?

3.4 代碼優(yōu)化?

在代碼優(yōu)化時,需要綜合考慮多個方面,包括性能、可讀性、可維護性等。

下面是一些常見的代碼優(yōu)化方式及其結(jié)果問題:

  1. 懶加載/按需加載
  2. 緩存機制
  3. 代碼壓縮和合并
  4. 其他優(yōu)化方式

3.4.1 懶加載/按需加載

懶加載/按需加載是指將頁面或模塊的加載推遲到需要時再進行,以減少初始加載時間和網(wǎng)絡請求次數(shù),提高頁面性能。然而,在使用懶加載/按需加載時,可能會出現(xiàn)以下問題:

  • 首次加載時,用戶可能需要等待更長時間才能看到頁面內(nèi)容。
  • 如果按需加載的模塊過多,可能會出現(xiàn)過多的網(wǎng)絡請求,導致頁面加載速度變慢。
  • 懶加載/按需加載的代碼可能會增加復雜度,降低代碼的可讀性和可維護性。

3.4.2 緩存機制

緩存機制是指將一些靜態(tài)資源(如圖片、CSS、JS 等)緩存在客戶端,以減少網(wǎng)絡請求次數(shù),提高頁面性能。然而,在使用緩存機制時,可能會出現(xiàn)以下問題:

  • 如果緩存時間過長,可能會導致用戶無法看到最新的內(nèi)容。
  • 如果緩存時間過短,可能會導致用戶頻繁地重新請求資源,降低頁面性能。
  • 緩存機制可能會對服務器和客戶端產(chǎn)生額外的負擔,增加服務器和客戶端的開銷。

3.4.3 代碼壓縮和合并

代碼壓縮和合并是指將多個 JS 或 CSS 文件壓縮為一個文件,并將其中的空格、注釋等無關字符刪除,以減小文件大小,提高頁面性能。然而,在使用代碼壓縮和合并時,可能會出現(xiàn)以下問題:

  • 如果壓縮和合并的文件過大,可能會導致文件下載時間過長,影響頁面性能。
  • 代碼壓縮和合并可能會增加復雜度,降低代碼的可讀性和可維護性。
  • 如果壓縮和合并的文件不夠靈活,可能會導致無法對不同的頁面進行定制和優(yōu)化。

3.4.4 其他優(yōu)化方式

除了上述方式外,還有一些其他的代碼優(yōu)化方式,如使用更高效的算法或數(shù)據(jù)結(jié)構(gòu)、減少重繪和回流、優(yōu)化圖片大小和格式等。這些優(yōu)化方式的效果和問題也各不相同,需要根據(jù)具體情況進行選擇和評估。

綜上所述,代碼優(yōu)化需要綜合考慮多個方面,不能只追求性能,還要注意代碼的可讀性和可維護性,以確保代碼質(zhì)量和用戶體驗的均衡。

3.4.5 示例

下面是一個代碼優(yōu)化前后的示例對比:

假設有一個需求,需要在頁面上顯示一組商品列表,每個商品包含圖片、標題、描述、價格等信息。

可以使用 Vue.js 來實現(xiàn)該需求,如下所示:

<template>
  <div>
    <h2>商品列表</h2>
    <ul>
      <li v-for="(item, index) in items" :key="index">
        <img :src="item.image" :alt="item.title">
        <h3>{{ item.title }}</h3>
        <p>{{ item.description }}</p>
        <span>¥{{ item.price }}</span>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: []
    };
  },
  created() {
    fetch('https://api.example.com/products')
      .then(response => response.json())
      .then(data => {
        this.items = data;
      });
  }
};
</script>

在上面的代碼中,使用了 Vue.js 的模板語法來創(chuàng)建商品列表,并通過?fetch?方法從后端 API 獲取商品數(shù)據(jù)。

然而,在實際應用中,該代碼存在一些性能問題,可以進行優(yōu)化。

下面是一個針對該代碼的優(yōu)化方案:

<template>
  <div>
    <h2>商品列表</h2>
    <ul>
      <li v-for="(item, index) in items" :key="index">
        <img :src="item.image" :alt="item.title">
        <h3>{{ item.title }}</h3>
        <p>{{ item.description }}</p>
        <span>¥{{ item.price }}</span>
      </li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      items: [],
      loading: true
    };
  },
  async created() {
    try {
      const response = await axios.get('https://api.example.com/products');
      this.items = response.data;
    } catch (error) {
      console.error(error);
    } finally {
      this.loading = false;
    }
  }
};
</script>

在上面的優(yōu)化方案中,使用了以下優(yōu)化方式:

  1. 使用?axios?替換?fetch,以提高網(wǎng)絡請求的穩(wěn)定性和可讀性。
  2. 將?created?鉤子函數(shù)改為異步函數(shù),并使用?async/await?語法簡化異步代碼,以提高代碼可讀性。
  3. 添加?loading?變量,用于在數(shù)據(jù)加載完成前顯示加載動畫,以提高用戶體驗。

通過以上優(yōu)化,可以提高代碼的性能、可讀性和可維護性,從而提高應用的質(zhì)量和用戶體驗。

3.5?如何設置瀏覽器緩存策略以提高頁面加載速度?

設置瀏覽器緩存策略可以減少瀏覽器重復請求資源,從而提高頁面加載速度??梢酝ㄟ^在 HTTP 響應頭中設置緩存策略來實現(xiàn)。

以下是一些常見的緩存策略設置方法:

  1. 設置強緩存
  2. 設置協(xié)商緩存

3.5.1 設置強緩存

強緩存是指瀏覽器在一定時間內(nèi)直接從本地緩存中獲取資源,而不需要向服務器發(fā)送請求??梢酝ㄟ^設置 "Expires" 或者 "Cache-Control" 響應頭來設置強緩存時間,如下所示:

  • Expires:設置過期時間,例如 "Expires: Wed, 21 Oct 2023 07:28:00 GMT"
  • Cache-Control:設置緩存策略,例如 "Cache-Control: max-age=3600",表示資源在 3600 秒內(nèi)有效。

3.5.2 設置協(xié)商緩存

協(xié)商緩存是指瀏覽器在過期時間后,向服務器發(fā)送請求,服務器會根據(jù)資源的 ETag 或者 Last-Modified 等信息,判斷資源是否發(fā)生變化。如果資源沒有發(fā)生變化,服務器會返回 304 狀態(tài)碼,告訴瀏覽器可以直接使用本地緩存??梢酝ㄟ^設置 "Last-Modified" 和 "ETag" 響應頭來設置協(xié)商緩存,如下所示:

  • Last-Modified:表示資源的最后修改時間,例如 "Last-Modified: Wed, 21 Oct 2023 07:28:00 GMT"
  • ETag:表示資源的唯一標識符,例如 "ETag: W/1234567890"

注意,設置緩存策略時需要根據(jù)具體情況進行設置,過長的緩存時間可能會導致資源更新不及時,而過短的緩存時間則可能會影響頁面加載速度。建議根據(jù)實際情況進行調(diào)整。

?

【VUE】解決圖片視頻加載緩慢/首屏加載白屏的問題,VUE,vue.js,javascript,前端,頁面加載

?

到了這里,關于【VUE】解決圖片視頻加載緩慢/首屏加載白屏的問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • vue項目切換頁面白屏的解決方案

    問題描述 1、頁面切換后白屏,同時切換回上一個頁面同樣白屏 2、刷新后正常顯示 3、有警告: Component inside Transition renders non-element root node that cannot be animated 解決方法 Transition中的組件呈現(xiàn)不能動畫化的非元素根節(jié)點 也就是說,組件內(nèi)必須有一個根元素 之前: 現(xiàn)在: ?原來

    2024年02月08日
    瀏覽(19)
  • 【Angular性能優(yōu)化】項目8版本加載速度緩慢、白屏時間、首頁渲染性能優(yōu)化方案

    【Angular性能優(yōu)化】項目8版本加載速度緩慢、白屏時間、首頁渲染性能優(yōu)化方案

    隨著業(yè)務的代碼一點點增加,加上Angular的項目本身就比 vue、react 的重一些,隨之而來的啟動速度,更改文件后編譯速度,以及打包速度也會變慢,于是乎想著優(yōu)化下我們的項目。 本文章主要說的是 : 打包Angular項目的一些配置,性能優(yōu)化方面的方案 打包后,用戶進入頁面的

    2024年04月10日
    瀏覽(23)
  • elementUI全屏loading的使用(白屏的解決方案)

    elementUI全屏loading的使用(白屏的解決方案)

    官網(wǎng)中有使用方法,但是我實際上手之后會出現(xiàn)白屏,解決辦法如下: ?

    2024年02月14日
    瀏覽(38)
  • Windows電腦玩游戲出現(xiàn)白屏的解決方法

    Windows電腦玩游戲出現(xiàn)白屏的解決方法

    逢年過節(jié)玩游戲,周末放假玩游戲,休閑娛樂玩游戲…玩游戲成了不少電腦用戶的小樂趣。但是有時候在玩游戲的過程中,會遇到一些令人頭疼的問題,比如游戲突然白屏,無法正常進行。這種情況可能會影響游戲體驗,甚至導致游戲數(shù)據(jù)丟失。 驅(qū)動人生 就跟大家說說Wind

    2024年02月11日
    瀏覽(25)
  • 已解決:安卓自帶的webview加載前端h5項目白屏時長嚴重,vue首頁加載白屏時間過長,那我讓app進入的時候就提前加載網(wǎng)頁

    自己寫的vue項目,自己寫的安卓殼子,本來自己覺得慢,忍忍就過去了,但是人家覺得慢,你不得改么?結(jié)果是前端自己開發(fā),安卓也自己開發(fā),想甩個鍋都沒法甩,總不能甩給后端吧?哈哈哈 描述一下我的情況,我寫了一個vue項目,需要嵌在安卓里運行,沒想到安卓webvi

    2024年02月03日
    瀏覽(24)
  • Vue首屏加載優(yōu)化

    Vue首屏加載優(yōu)化

    目錄 打包優(yōu)化 移除 preload(預載) 與 prefetch (預取) 可視化資源分析工具 開啟gzip壓縮 公共代碼抽離 代碼抽離前 代碼抽離后 執(zhí)行抽離模塊 配置解析 CDN替換依賴包引入 移除無用文件 路由優(yōu)化 動態(tài)路由懶加載,按需加載 動態(tài)添加路由 vue 腳手架默認開啟了 preload 與 prefe

    2024年01月17日
    瀏覽(18)
  • 解決Mac系統(tǒng)android monitor啟動時卡住,顯示白屏的問題

    解決Mac系統(tǒng)android monitor啟動時卡住,顯示白屏的問題

    清安裝1.8版本的jdk,java1.8版本以上不支持android monitor;如果你電腦上安裝有java 11等高級別的版本,請自行搜索,如果在mac上安裝多jdk,以及如何切換到1.8版本上 請更新SWT插件,下載地址; 1.打開網(wǎng)頁,點擊4.9 跳轉(zhuǎn)到另外的網(wǎng)頁 ?2.跳轉(zhuǎn)到的網(wǎng)頁如下所示意 ? 3. 點擊下載此版

    2024年02月12日
    瀏覽(30)
  • Vue 打包 chunk-vendors.js 文件過大導致頁面加載緩慢解決方案

    前言 顧名思義, chunk-vendors.js 是捆綁所有不是自己的模塊,而是來自其他方的模塊的捆綁包,它們稱為第三方模塊或供應商模塊。 通常,它意味著(僅和)來自項目 /node_modules 目錄的所有模塊,會將所有 /node_modules 中的第三方包打包到 chunk-vendors.js 中。 將所有的第三方包集

    2024年02月16日
    瀏覽(29)
  • 關于vue首屏加載loading問題

    注意:網(wǎng)上搜索出來的都是教你在index.html里面div id=\\\"app\\\"div class=\\\"loading\\\"/div或者在app.vue Mounte生命周期函數(shù)控制app和loading的顯示和隱藏,這里會有一個問題,就是js渲染頁面需要時間,一樣會出現(xiàn)幾秒鐘白屏。mounted(包裹使用nextTick)執(zhí)行回調(diào)div app的內(nèi)容依然沒有開始渲染。 正

    2024年02月09日
    瀏覽(19)
  • DedeCMS不支持PHP5.3、5.4及以上版本后臺500錯誤白屏的解決方法

    今天把系統(tǒng)換成了windows server 2008 r2 同時將PHP環(huán)境提升至PHP5.5版本,測試PHPinfo的時候一點問題都沒有,但是登陸dede后臺卻顯示500錯誤,這應該怎么解決呢?百度了一下發(fā)現(xiàn)dede不支持PHP5.3、PHP5.4及以上版本了,主要原為是php5.4的版本廢除了session_register函數(shù) 可以采用如$_SESSIO

    2023年04月21日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包