050:vue項目webpack打包,大文件分成幾個小文件的方法

在這里插入圖片描述

第050個

查看專欄目錄: VUE ------ element UI


專欄目標

在vue和element UI聯合技術棧的操控下,本專欄提供行之有效的源代碼示例和信息點介紹,做到靈活運用。

(1)提供vue2的一些基本操作:安裝、引用,模板使用,computed,watch,生命周期(beforeCreate,created,beforeMount,mounted, beforeUpdate,updated, beforeDestroy,destroyed,activated,deactivated,errorCaptured,components,)、 $root , $parent , $children , $slots , $refs , props, $emit , eventbus ,provide / inject, Vue.observable, $listeners, $attrs, $nextTick , v-for, v-if, v-else,v-else-if,v-on,v-pre,v-cloak,v-once,v-model, v-html, v-text, keep-alive,slot-scope, filters, v-bind,.stop, .native, directives,mixin,render,國際化,Vue Router等

(2)提供element UI的經典操作:安裝,引用,國際化,el-row,el-col,el-button,el-link,el-radio,el-checkbox ,el-input,el-select, el-cascader, el-input-number, el-switch,el-slider, el-time-picker, el-date-picker, el-upload, el-rate, el-color-picker, el-transfer, el-form, el-table, el-tree, el-pagination,el-badge,el-avatar,el-skeleton, el-empty, el-descriptions, el-result, el-statistic, el-alert, v-loading, $message, $alert, $prompt, $confirm , $notify, el-breadcrumb, el-page-header,el-tabs ,el-dropdown,el-steps,el-dialog, el-tooltip, el-popover, el-popconfirm, el-card, el-carousel, el-collapse, el-timeline, el-divider, el-calendar, el-image, el-backtop,v-infinite-scroll, el-drawer等

本文章目錄

    • 專欄目標
    • 應用場景
    • 安裝插件
    • vue.config.js 配置
    • webpack-bundle-analyzer 是什么?
    • 相關API

應用場景

vue項目中,不做處理,通常首頁文件比較大,影像加載速度。解決辦法是通過webpack將大文件分解為小文件,具體的一個vue.config.js文件參考。
在這里插入圖片描述

安裝插件

npm install --save-dev webpack-bundle-analyze

vue.config.js 配置

onst BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; module.exports = { publicPath: './', assetsDir: 'static', productionSourceMap: false, devServer: { proxy: { '/api':{ target:'http://xxx.xxx.xxx.xxx:1234', changeOrigin:true, pathRewrite:{ '^/api':'/api' } } } }, chainWebpack: config => { if (process.env.NODE_ENV == 'production') { // 移除 prefetch 插件 config.plugins.delete('prefetch'); } }, configureWebpack: (config) => { const res = { plugins: [] }; if (process.env.NODE_ENV == 'production') { res.plugins.push(new BundleAnalyzerPlugin()), res.optimization = { splitChunks: { // chunks: 'async', // minSize: 300000, maxSize: 650000, // maxAsyncRequests: 5, // maxInitialRequests: 3, cacheGroups: { vendors: { name: `chunk-vendors`, test: /[\\/]node_modules[\\/]/, chunks: 'initial', priority: 2, reuseExistingChunk: true, enforce: true }, common: { name: `chunk-common`, chunks: 'initial', minChunks: 2, maxInitialRequests: 5, minSize: 0, priority: 1, reuseExistingChunk: true, enforce: true }, elementui: { test:/[\\/]node_modules[\\/]element-ui[\\/]/, //匹配要拆分的模塊 name: 'chunk-elementui', chunks: 'all', priority: 3, reuseExistingChunk: true, enforce: true }, echarts: { test: /[\\/]node_modules[\\/](vue-)?echarts[\\/]/, name: 'chunk-echarts', chunks: 'all', priority: 4, reuseExistingChunk: true, enforce: true }, xlsx: { test: /[\\/]node_modules[\\/]xlsx[\\/]/, name: 'chunk-xlsx', chunks: 'all', priority: 3, reuseExistingChunk: true, enforce: true } } } } } return { ...res } }, // css相關配置 css: { extract: true, // 是否使用css分離插件 ExtractTextPlugin sourceMap: false, // 開啟 CSS source maps? loaderOptions: { css: { }, // 這里的選項會傳遞給 css-loader }, // css預設器配置項 詳見https://cli.vuejs.org/zh/config/#css-loaderoptions modules: false // 啟用 CSS modules for all css / pre-processor files. }, } 

webpack-bundle-analyzer 是什么?

webpack-bundle-analyzer 是 webpack 的插件,需要配合 webpack 和 webpack-cli 一起使用。這個插件可以讀取輸出文件夾(通常是 dist)中的 stats.json 文件,把該文件可視化展現,生成代碼分析報告,可以直觀地分析打包出的文件有哪些,及它們的大小、占比情況、各文件 Gzipped 后的大小、模塊包含關系、依賴項等,對應做出優化,從而幫助提升代碼質量和網站性能。

相關API

https://www.npmjs.com/package/webpack-bundle-analyzer

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214018.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214018.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214018.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

flask之文件上傳

1、創建表單提交頁面&#xff0c;如&#xff1a;upload.html <html> <head><title>File Upload</title> </head> <body><form action"http://localhost:8888/uploadfile" method"POST" enctype"multipart/fo…

自定義類型詳解(1)

文章目錄 目錄1. 結構體1.1 結構的基礎知識1.2 結構的聲明1.3 特殊的聲明1.4 結構的自引用1.5 結構體變量的定義和初始化1.6 結構體內存對齊1.7 修改默認對齊數1.8 結構體傳參 2. 位段2.1 什么是位段2.2 位段的內存分配2.3 位段的跨平臺問題2.4 位段的應用 3. 枚舉3.1 枚舉類型…

linux向日葵開機自啟動

有個服務需要先開啟: sudo systemctl start runsunloginclient.service 開機自啟動服務: sudo systemctl enable runsunloginclient.service 然后再啟動就可以了 sudo systemctl status runsunloginclient.service 開機自啟后進行檢查service服務狀態 開發板ubuntu系統上如…

蝦皮選品:如何在蝦皮平臺上進行選品以提高銷售額和利潤

在蝦皮&#xff08;Shopee&#xff09;平臺上進行選品時&#xff0c;可以遵循以下策略和技巧&#xff0c;以便找到有潛力的產品并提高銷售額。 先給大家推薦一款shopee知蝦數據運營工具 知蝦免費體驗地址&#xff08;復制瀏覽器打開&#xff09;&#xff1a;d.ddqbt.com/JU5o …

Java并發(二)

一、并發編程三要素 1、原子性 原子性指的是一個或者多個操作&#xff0c;要么全部執行并且在執行的過程中不被其他操作打斷&#xff0c;要么就全部都不執行。 2、可見性 可見性指多個線程操作一個共享變量時&#xff0c;其中一個線程對變量進行修改后&#xff0c;其他線程可以…

亞信安慧通過ISO20000認證,AntDB數據庫團隊服務能力再上新臺階

近日&#xff0c;湖南亞信安慧科技有限公司&#xff08;簡稱“亞信安慧”&#xff09;獲得《信息安全管理服務管理體系認證證書》&#xff0c;標志著公司已建立起一套與國際對標的IT系統管理體系&#xff0c;在信息技術服務能力上取得了新的里程碑。 圖1 亞信安慧通過ISO20000認…

【Unity】Addressable包資源加載失敗:CRC Mismatch.

Error while downloading Asset Bundle: CRC Mismatch. 是資源下載校驗失敗&#xff0c;但是資源和上次打包的資源是一樣的。沒有排查到原因&#xff0c;在谷歌搜索后看到 大概就是指Unity版本修改后打包&#xff0c;會破壞原來的CRC信息&#xff0c;導致導報出來的資源無法通…

軟件測試BUG管理神器——禪道

背景與用途 使用背景 針對開發的產品進行BUG質量管理&#xff0c;通過需求、任務、bug來進行交相互動&#xff0c;終通過項目拿到合格的產品&#xff01; 場景介紹 測試人員提出bug -> 開發人員解決bug -> 測試人員驗證關閉 下載安裝 一、搜索禪道官網 1.1在瀏覽器搜索…

Boost:asio單io_service,多線程run

io_service相當于注冊異步回調的一個上下文環境,而run相當于處理異步io的上下文(通常是一個線程)。 單io_service,多線程run,相當于多個線程同時來處理注冊在一個io_service上的回調: //sio_mth.cpp #include <boost/asio.hpp> #include <boost/date_time/pos…

Java集合進階

目錄 集合體系結構 Collection集合 List集合 ArrayList集合 LinkedList集合 集合體系結構 注意:有序:存進去的數組和取出來時一樣 而不是大小的那種有序 Collection集合 單列集合頂層接口Collection import java.util.ArrayList; import java.util.Collection;public cl…

外貿獲客怎么做?有哪些技巧?

外貿獲客是許多企業拓展海外市場的關鍵一環&#xff0c;為了成功地吸引潛在客戶&#xff0c;我們需要了解一些基本的獲客技巧&#xff0c;本文將分享一些實用的方法和技巧&#xff0c;幫助您在外貿領域獲得更多的客戶。 一、了解目標客戶 在開展外貿業務之前&#xff0c;了解…

java Optional類

Java 8 引入的 Optional 類,主要解決的問題是空指針異常&#xff08;NullPointerException&#xff09; 返回值/修飾符方法詳細static Optionalempty() 返回一個空的 Optional實例。Optional<String> stringOptional Optional.empty();booleanequals(Object obj) 判斷…

IO流的使用(四)

對象序列化機制 概念&#xff1a;允許把內存中的Java對象轉換成與平臺無關的二進制流&#xff0c;從而允許把這種二進制流持久地保存在磁盤上&#xff0c;或通過網絡將這種二進制流傳輸到另一個網絡節點&#xff1b;當其它程序取了這種二進制流&#xff0c;就可恢復成原來的Ja…

C# OpenCvSharp DNN 部署YOLOV6目標檢測

目錄 效果 模型信息 項目 代碼 下載 C# OpenCvSharp DNN 部署YOLOV6目標檢測 效果 模型信息 Inputs ------------------------- name&#xff1a;image_arrays tensor&#xff1a;Float[1, 3, 640, 640] -------------------------------------------------------------…

一個不上進的愛好,讓我走進了計算機世界

為什么當初選擇計算機行業 當初選擇計算機專業&#xff0c;真的就是覺得學習計算機專業&#xff0c;就可以經常接觸計算機&#xff0c;可以有很多的機會可以玩游戲。 后來高考的時候&#xff0c;考試成績也不理想&#xff0c;分數就不好意思說了。但是喜從天降&#xff0c;居…

Windows Terminal的半透明效果

打開Windows Terminal的半透明效果 最終實現效果&#xff1a; 系統&#xff1a;win11 23H2 步驟&#xff1a; 1.winx打開終端 2.右鍵打開設置 3.打開外觀->亞克力材料開啟 4.默認值->外觀->透明度&#xff0c;按喜好選擇即可

Linux+Moba+虛擬機

軟件&#xff1a; VMware Workstation ProMobaXterm 簡介 是一款由VMware公司開發的強大的虛擬機軟件。它可以在單臺物理計算機上創建、運行和管理多個虛擬機&#xff0c;每個虛擬機都可以獨立運行不同的操作系統和應用程序。 功能&#xff1a; 虛擬化&#xff1a;能…

PPP協議概述與實驗示例

PPP協議概述與實驗示例 概述 PPP&#xff08;Point-to-Point Protocol&#xff09;是一種用于在點對點連接上傳輸多協議數據包的標準方法。它已經成為最廣泛使用的互聯網接入數據鏈路層協議&#xff0c;可以與各種技術結合&#xff0c;如ADSL、LAN等&#xff0c;實現寬帶接入…

如何通過內網穿透工具實現任意瀏覽器遠程訪問Linux本地zabbix web管理界面

前言 Zabbix是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。能監視各種網絡參數&#xff0c;保證服務器系統的安全運營&#xff1b;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。 本地zabbix web管理界面限制在只能局域…

MyBatis-Plus - 論 1 個實體類被 N 個DAO 類綁定,導致 MP 特性(邏輯刪)失效的解決方案

問題描述 最近遇到一個奇奇怪怪的問題&#xff0c;發現 Mybatis-Plus『邏輯刪』特性失效&#xff0c;而且是偶現&#xff0c;有時候可以&#xff0c;有時候又不行。于是開啟了 Debug Mybatis-Plus 源碼之旅 原因分析 我們接下來重點關注 TableInfoHelper 類 /** Copyright (…