国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

webpack打包優化的幾個方法總結

2024-05-06 15:44:19
字體:
來源:轉載
供稿:網友

為什么要優化打包?

項目越做越大,依賴包越來越多,打包文件太大 單頁面應用首頁白屏時間長,用戶體驗差

我們的目的

減小打包后的文件大小 首頁按需引入文件 優化 webpack 打包時間

優化方式

1、 按需加載

1.1 路由組件按需加載

const router = [ {  path: '/index',  component: resolve => require.ensure([], () => resolve(require('@/components/index'))) }, {  path: '/about',  component: resolve => require.ensure([], () => resolve(require('@/components/about'))) }]

1.2 第三方組件和插件。按需加載需引入第三方組件

// 引入全部組件import ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css'Vue.use(ElementUI)// 按需引入組件import { Button } from 'element-ui'Vue.component(Button.name, Button)

1.3 對于一些插件,如果只是在個別組件中用的到,也可以不要在 main.js 里面引入,而是在組件中按需引入

// 在main.js引入import Vue from vueimport Vuelidate from 'vuelidate'Vue.use(Vuelidate)// 按組件按需引入import { Vuelidate } from 'vuelidate'

2、優化 loader 配置

優化正則匹配 通過 cacheDirectory 選項開啟緩存 通過 include、exclude 來減少被處理的文件。
module: { rules: [  {   test: //.js$/,   loader: 'babel-loader?cacheDirectory',   include: [resolve('src')]  } ]}

3、優化文件路徑——省下搜索文件的時間

extension 配置之后可以不用在 require 或是 import 的時候加文件擴展名,會依次嘗試添加擴展名進行匹配。 mainFiles 配置后不用加入文件名,會依次嘗試添加的文件名進行匹配 alias 通過配置別名可以加快 webpack 查找模塊的速度。
 resolve: {  extensions: ['.js', '.vue', '.json'],  alias: {   'vue$': 'vue/dist/vue.esm.js',   '@': resolve('src'),  } },

4、生產環境關閉 sourceMap

sourceMap 本質上是一種映射關系,打包出來的 js 文件中的代碼可以映射到代碼文件的具體位置,這種映射關系會幫助我們直接找到在源代碼中的錯誤。 打包速度減慢,生產文件變大,所以開發環境使用 sourceMap,生產環境則關閉。

5、代碼壓縮

UglifyJS: vue-cli 默認使用的壓縮代碼方式,它使用的是單線程壓縮代碼,打包時間較慢 ParallelUglifyPlugin: 開啟多個子進程,把對多個文件壓縮的工作分別給多個子進程去完成

兩種方法使用如下:

plugins: [ new UglifyJsPlugin({  uglifyOptions: {   compress: {    warnings: false   }  },  sourceMap: true,  parallel: true }), new ParallelUglifyPlugin({  //緩存壓縮后的結果,下次遇到一樣的輸入時直接從緩存中獲取壓縮后的結果并返回,  //cacheDir 用于配置緩存存放的目錄路徑。  cacheDir: '.cache/',  sourceMap: true,  uglifyJS: {   output: {    comments: false   },   compress: {    warnings: false   }  } })]            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 莲花县| 三河市| 吉木乃县| 双桥区| 玛曲县| 乌兰县| 安化县| 平安县| 六盘水市| 论坛| 曲周县| 墨江| 广灵县| 凤城市| 潞城市| 个旧市| 赣州市| 安国市| 鹤壁市| 秀山| 武宣县| 铜山县| 塘沽区| 东方市| 福清市| 肥西县| 上虞市| 公安县| 米易县| 淳化县| 武山县| 建德市| 大名县| 突泉县| 卓资县| 太白县| 德安县| 安陆市| 瓮安县| 西安市| 屯门区|