国产探花免费观看_亚洲丰满少妇自慰呻吟_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   }  } })]            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 平阴县| 彰化县| 洞口县| 兰考县| 昌宁县| 桐城市| 元朗区| 定州市| 卢湾区| 高邮市| 闽侯县| 安阳县| 宜章县| 山阳县| 石河子市| 东乌珠穆沁旗| 柳林县| 朔州市| 宜宾县| 长兴县| 三台县| 绵竹市| 石阡县| 木里| 绍兴县| 来宾市| 滨州市| 巴马| 蛟河市| 青田县| 孝感市| 荔波县| 左贡县| 西峡县| 泗阳县| 教育| 晋城| 霸州市| 哈尔滨市| 亚东县| 科技|