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

vite打包配置以及性能優(yōu)化

這篇具有很好參考價(jià)值的文章主要介紹了vite打包配置以及性能優(yōu)化。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

vite打包配置以及性能優(yōu)化

安裝插件

首先該安裝的插件,你要安裝一下吧

這三個(gè)是基本的插件,其他優(yōu)化的插件下面會介紹到

    "vite": "4.4.6",
    "vite-plugin-html": "^3.2.0",
    "@vitejs/plugin-vue": "^4.2.3",

vite.config.ts文件中

配置

這是最基本的配置,當(dāng)然,可以上線,但仍然有很多待優(yōu)化的地方

import { resolve } from 'path';
import { loadEnv } from 'vite';
import vue from '@vitejs/plugin-vue';
import { createHtmlPlugin } from 'vite-plugin-html';

import type { UserConfig, ConfigEnv } from 'vite';



function pathResolve(dir: string) {
  return resolve(__dirname, '.', dir);
}

// https://vitejs.dev/config/
export default ({ mode }: ConfigEnv): UserConfig => {
  const root = process.cwd();
  const env = loadEnv(mode, root);
  const { VITE_APP_TITLE, VITE_OUT_DIR, VITE_PORT, VITE_PUBLIC_PATH, VITE_APP_PROXY } = env;

  return {
    base: VITE_PUBLIC_PATH,
    resolve: {
      alias: {
        '/@': pathResolve('src'),
        '/@views': pathResolve('src/views'),
        '/@components': pathResolve('src/components'),
        '/@types': pathResolve('src/types'),
      },
    },
    server: {
      open: true,
      port: Number(VITE_PORT),
      hmr: {
        overlay: true,
      },
      proxy: {
        '/api': {
          target: VITE_APP_PROXY,
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api/, ''),
        },
      },
    },
    build: {
      outDir: VITE_OUT_DIR,
      sourcemap: true,
      target: ['es2020'],
      chunkSizeWarningLimit: 1000,
    },
    plugins: [
      vue(),
      createHtmlPlugin({
        minify: mode === 'production',
        inject: {
          data: {
            title: VITE_APP_TITLE,
          },
        },
      }),
    ],
  };
};

性能優(yōu)化

性能優(yōu)化無非就是減小打包后體積;減小http請求;加速渲染;

其實(shí)下面介紹的只是我自己用到的,還有更過的插件參考官網(wǎng):vite插件

一會要看官網(wǎng),發(fā)現(xiàn)的好的可以告訴我哦

rollup-plugin-visualizer

首先安裝一個(gè)打包體積分析的插件:rollup-plugin-visualizer ,打包時(shí)會生成一個(gè)stats.html文件去顯示各個(gè)包依賴的大小;

npm i rollup-plugin-visualizer -D


import { visualizer } from 'rollup-plugin-visualizer'; //打包體積分析

 plugins: [
     visualizer({ open: true}),
    ],

vite打包配置以及性能優(yōu)化,Vue,性能優(yōu)化

vite-plugin-css-injected-by-js

將css注入到j(luò)s文件中,有效減少http請求 但這里css中的背景圖片路徑會錯(cuò)誤(目前沒有找到解決方案),選擇性使用

npm i vite-plugin-css-injected-by-js -D


import { visualizer } from 'rollup-plugin-visualizer'; //打包體積分析

 plugins: [
     visualizer(),
    ],

親測可用,就不重新打包給截圖了(效減少http請求 但這里css中的背景圖片路徑會錯(cuò)誤(目前沒有找到解決方案))

去除console、debugger

 build: {
      outDir: VITE_OUT_DIR,
      sourcemap: true,
      chunkSizeWarningLimit: 1000,
      minify: 'terser', //壓縮方式
      terserOptions: {
        compress: {
          drop_console: true,
          drop_debugger: true,
        },
      },
    },

CDN 加速

注意這使用與大多數(shù)項(xiàng)目,但對于無網(wǎng)絡(luò)連接的b/s端不能用
注意:找可靠穩(wěn)定的cdn連接,用戶要有網(wǎng)

下面是舉兩個(gè)例子

  plugins: [
      vue(),
      createHtmlPlugin({
        minify: mode === 'production',
        inject: {
          data: {
            title: VITE_APP_TITLE,
            vuescript: '<script src="https://cdn.bootcdn.net/ajax/libs/vue/3.2.0/vue.global.min.js"></script><script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.4.2/echarts.esm.js"></script>'
          },
        },
      }),
    ],

注意在入口html中引用

<head>
 
  <%- vuescript %>

</head>

vite打包配置以及性能優(yōu)化,Vue,性能優(yōu)化

文件壓縮 vite-plugin-compression 文件壓縮

這里nginx 也要配置, 配置啟動gzip模塊, 然后優(yōu)先使用本地壓縮好的文件。
不要傻傻的不配置nginx,不然徒勞無獲,驗(yàn)證有沒有配置成功最簡單的方法就是刪除源文件看是否可以正常打開

npm i vite-plugin-compression -D

import viteCompression from 'vite-plugin-compression';


    plugins: [
      vue(),
      viteCompression({
        verbose: true, // 是否在控制臺中輸出壓縮結(jié)果
        disable: false,
        threshold: 10240, // 如果體積大于閾值,將被壓縮,單位為b,體積過小時(shí)請不要壓縮,以免適得其反
        algorithm: 'gzip', // 壓縮算法,可選['gzip',' brotliccompress ','deflate ','deflateRaw']
        ext: '.gz',
        deleteOriginFile: false, // 源文件壓縮后是否刪除
      }),
    ],





圖片壓縮 vite-plugin-imagemin

這個(gè)可以降低體積,但是資源在國外,不好安裝
可以更換鏡像源:參考連接:國內(nèi)npm源鏡像(npm加速下載) 指定npm鏡像
**如果使用npm安裝:**windows電腦中C:\Windows\System32\drivers\etc\host 文件配置

199.232.4.133 raw.githubusercontent.com

如果使用yarn安裝: package.json文件配置文章來源地址http://www.zghlxwxcb.cn/news/detail-659378.html

  "resolutions": {
    "bin-wrapper": "npm:bin-wrapper-china"
  },
npm i vite-plugin-imagemin -D

import viteImagemin from 'vite-plugin-imagemin'


plugin: [
    viteImagemin({
      gifsicle: {
        optimizationLevel: 7,
        interlaced: false
      },
      optipng: {
        optimizationLevel: 7
      },
      mozjpeg: {
        quality: 20
      },
      pngquant: {
        quality: [0.8, 0.9],
        speed: 4
      },
      svgo: {
        plugins: [
          {
            name: 'removeViewBox'
          },
          {
            name: 'removeEmptyAttrs',
            active: false
          }
        ]
      }
    })
]

到了這里,關(guān)于vite打包配置以及性能優(yōu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vite配置cdn優(yōu)化打包體積

    vite配置cdn優(yōu)化打包體積

    大家都知道前端性能優(yōu)化的方法,cdn外部引入的方法可以使項(xiàng)目打包后體積大大縮小,所以是前端性能優(yōu)化方面非常推薦的方法之一。 本文關(guān)于 vite2 vue3 + Ts 項(xiàng)目如何cdn引入 element plus 做一個(gè)簡單教程,我們可以通過兩種方式引入配置cdn。 由于 vite 的核心基于 rollup 和 webpac

    2024年02月05日
    瀏覽(25)
  • vue3 + vite 性能優(yōu)化,詳細(xì)代碼說明

    對于Vue 3和Vite應(yīng)用的性能優(yōu)化,以下是一些常見的技巧和建議: 使用Tree-shaking:Vue 3和Vite支持ES模塊的靜態(tài)分析,因此可以利用Tree-shaking特性,只引入項(xiàng)目中實(shí)際使用的模塊,減少打包體積。 懶加載路由:使用Vue Router的動態(tài)導(dǎo)入功能,將路由按需加載,可以減少初始加載的

    2024年02月02日
    瀏覽(57)
  • 性能優(yōu)化之--- 項(xiàng)目打包優(yōu)化(vue)

    項(xiàng)目體積小也是優(yōu)化性能的一個(gè)方向,這里以 Vue 工程為例; 當(dāng)剛運(yùn)行項(xiàng)目的時(shí)候,發(fā)現(xiàn)剛進(jìn)入頁面,就將所有的js文件和css文件加載了進(jìn)來,這一進(jìn)程十分的消耗時(shí)間。 如果打開哪個(gè)頁面就對應(yīng)的加載響應(yīng)頁面的js文件和css文件,那么頁面加載速度會大大提升。 vue官方文檔

    2024年02月09日
    瀏覽(17)
  • vue3 + vite 性能優(yōu)化 ( 從5s -> 0.5s )

    vue3 + vite 性能優(yōu)化 ( 從5s -> 0.5s )

    vite 相比于 webpack 優(yōu)勢顯著 ; 然而 社區(qū) ,卻 不夠成熟 ,參考資料較少; 如何讓vue + vite 構(gòu)建項(xiàng)目變的 訪問秒開 (要想足夠快,就是讓首次加載足夠?。?,從下面幾步做起 = 個(gè)人通過學(xué)生價(jià)購買的服務(wù)器,已達(dá)到 0.5s 內(nèi)秒開 = 點(diǎn)擊體驗(yàn) 1. ui組件庫的優(yōu)化 ui 組件庫 是打包變

    2024年02月01日
    瀏覽(21)
  • 【vite+vue3.2 項(xiàng)目性能優(yōu)化實(shí)戰(zhàn)】使用vite-plugin-cdn-import進(jìn)行CDN加速優(yōu)化項(xiàng)目體積

    【vite+vue3.2 項(xiàng)目性能優(yōu)化實(shí)戰(zhàn)】使用vite-plugin-cdn-import進(jìn)行CDN加速優(yōu)化項(xiàng)目體積

    CDN (Content Delivery Network)即內(nèi)容分發(fā)網(wǎng)絡(luò),是一種通過在全球范圍內(nèi)分布式部署服務(wù)器來加速網(wǎng)絡(luò)內(nèi)容傳輸?shù)募夹g(shù)。CDN加速的原理是,當(dāng)用戶請求訪問某個(gè)資源時(shí), CDN會根據(jù)用戶的地理位置和網(wǎng)絡(luò)狀況,自動選擇離用戶最近的服務(wù)器來響應(yīng)請求 。如果該服務(wù)器上已經(jīng)緩存了

    2024年02月03日
    瀏覽(97)
  • vue2、vue-cli4以及vue3、vite打包去掉console.log

    webpack4會自帶terser-webpack-plugin插件。 vue.config.js文件 vue-cli chainwebpack配置 webpack 配置terser chain鏈?zhǔn)脚渲?vite.config.ts文件 Esbuild#drop:For example, you can mark console.log as pure using --pure:console.log. This will cause these API calls to be removed safely when minification is enabled. Vite esbuild配置 esbuild prue配置

    2024年02月10日
    瀏覽(230)
  • 【Vue3實(shí)踐】(六)Vue3使用vite處理環(huán)境變量、打包部署、nginx配置

    【Vue3實(shí)踐】(六)Vue3使用vite處理環(huán)境變量、打包部署、nginx配置

    由于在日常開發(fā)中會有一部分前端的開發(fā)任務(wù),會涉及到Vue的項(xiàng)目的搭建、迭代、構(gòu)建發(fā)布等操作,所以想系統(tǒng)的學(xué)習(xí)一下Vue相關(guān)的知識點(diǎn),本專題會依照Vue的搭建、開發(fā)基礎(chǔ)實(shí)踐、進(jìn)階用法、打包部署的順序進(jìn)行記錄。 歷史文章鏈接如下: 《Vue3搭建、路由配置與基本語法

    2023年04月08日
    瀏覽(646)
  • vue3之vite創(chuàng)建h5項(xiàng)目1(創(chuàng)建vite項(xiàng)目、配置IP訪問項(xiàng)目、配置多環(huán)境變量與預(yù)覽打包生產(chǎn)效果、配置別名)

    vue3之vite創(chuàng)建h5項(xiàng)目1(創(chuàng)建vite項(xiàng)目、配置IP訪問項(xiàng)目、配置多環(huán)境變量與預(yù)覽打包生產(chǎn)效果、配置別名)

    初始化項(xiàng)目模塊 添加環(huán)境變量文件,每個(gè)文件寫入配置,定義 env 環(huán)境變量前面必須加 VITE_ dev環(huán)境 test環(huán)境 prod環(huán)境 在項(xiàng)目根目錄下創(chuàng)建 03-1:配置多環(huán)境變量之dev環(huán)境 .env.development 03-2:配置多環(huán)境變量之test環(huán)境 .env.test 03-3:配置多環(huán)境變量之prod環(huán)境 .env.production 03-4 修改

    2024年02月02日
    瀏覽(101)
  • vue3項(xiàng)目vite.config.js配置“代理”、“端口”、“打包名”、“圖片壓縮”

    前言 我們在搭建vue3項(xiàng)目的時(shí)候不可避免的會遇到“代理”、“端口”、“打包名”、“圖片壓縮”等配置問題,本文逐一講述該怎么樣在vite.config.js中去配置。 一、配置代理端口和代理轉(zhuǎn)發(fā) vite.config.ts添加如下代碼 ts.config.json添加如下代碼 圖片壓縮先要引入vite-plugin-imagem

    2024年02月07日
    瀏覽(20)
  • nginx開啟Gzip壓縮,Vue性能優(yōu)化之使用gzip壓縮打包

    nginx開啟Gzip壓縮,Vue性能優(yōu)化之使用gzip壓縮打包

    不管是vue項(xiàng)目還是react項(xiàng)目在使用webpack打包之后都會生成一個(gè)動輒一兩兆甚至更大的js文件,在某些情況下嚴(yán)重影響項(xiàng)目性能,打開頁面的時(shí)候白屏?xí)r間會很長,本文將介紹如何使用gzip壓縮打包,主要是nginx部署的配置,非常重要,我查閱了很多文章基本都沒用說清楚甚至錯(cuò)

    2024年02月02日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包