色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Vue項(xiàng)目打包編譯優(yōu)化方案

瀏覽:3日期:2022-11-22 10:49:06

1. 不生成.map文件

默認(rèn)情況下,當(dāng)我們執(zhí)行 npm run build 命令打包完一個(gè)項(xiàng)目后,會(huì)得到一個(gè)dist目錄,里面有一個(gè)js目錄,存放了該項(xiàng)目編譯后的所有js文件。我們發(fā)現(xiàn)每個(gè)js文件都有一個(gè)相應(yīng)的 .map 文件,它們僅是用來(lái)調(diào)試代碼的,可以加快打包速度,但會(huì)增大打包體積,線上我們是不需要這個(gè)代碼的。這里我們需要配置不生成map文件。

vue-cli2

config/index.js文件中,找到 productionSourceMap: true 這一行,將 true 改為 false。

vue-cli3

在 vue.config.js 中編寫(xiě)以下內(nèi)容:

module.exports = { productionSourceMap: false}

2. 按需引入第三方包

默認(rèn)情況下,在打包完后的js文件中,vendor.xxx.js 這個(gè)文件是非常大的,它主要是我們用到的第三方包(vue、vue-router、vuex、axios、element-ui等等)。這里面的大部分是我們要用到的功能,而像 element-ui 這種,明顯可以按塊來(lái)分,我們只是用到了里面的個(gè)別組件,完全可以把它按需取出,沒(méi)必要全部打包。

在 element-ui 的官網(wǎng),介紹了按需引入的方法,借助 babel-plugin-component,我們可以只引入需要的組件,以達(dá)到減小項(xiàng)目體積的目的。

3. 路由懶加載

默認(rèn)情況下,在打包完后的js文件中,app.xxx.js 這個(gè)文件是非常大的,它主要是我們編寫(xiě)的一些組件。那么無(wú)法避免的問(wèn)題就是:當(dāng)用戶訪問(wèn)網(wǎng)頁(yè)的時(shí)候,第一次的請(qǐng)求要加載整個(gè) app.xxx.js,當(dāng)我們的項(xiàng)目比較復(fù)雜的時(shí)候,這個(gè)文件也是相當(dāng)大的。

接下來(lái)我們要做的,就是路由懶加載。也就是當(dāng)訪問(wèn)一個(gè)頁(yè)面的時(shí)候,只加載當(dāng)前組件相關(guān)的js資源,訪問(wèn)其它頁(yè)面的時(shí)候,再加載相應(yīng)的組件代碼。

通過(guò)vue提供的路由懶加載功能,我們能將原來(lái)的一個(gè) app.xxx.js 文件,分塊分成多個(gè)。

① 首先根據(jù)官網(wǎng)的說(shuō)明,我們需要安裝一個(gè)插件

npm install --save-dev @babel/plugin-syntax-dynamic-import

② 然后在 babel.config.js 中配置如下內(nèi)容(網(wǎng)上說(shuō)的是 .babelrc 文件,這是以前的配置格式):

module.exports = { presets: ['@vue/app'], plugins: ['@babel/plugin-syntax-dynamic-import']};

③ 接下來(lái)修改路由加載組件部分的代碼。

這是我們?cè)瓉?lái)的路由寫(xiě)法:

router.js

import Vue from 'vue';import Router from 'vue-router';import Home from './views/Home.vue';import About from './views/About.vue';import Form from './views/Form.vue';import Table from './views/Table.vue';import NavMenu from './views/NavMenu.vue';Vue.use(Router);export default new Router({ mode: 'history', base: process.env.BASE_URL, routes: [ { path: '/', name: 'home', component: Home }, { path: '/about', name: 'about', component: About }, { path: '/form', name: 'myForm', component: Form }, { path: '/table', name: 'myTable', component: Table }, { path: '/nav_menu', name: 'myNavMenu', component: NavMenu } ]});

這是我們修改完的路由寫(xiě)法:

router.js

import Vue from 'vue';import Router from 'vue-router';const Home = () => import('./views/Home.vue');const About = () => import('./views/About.vue');const Form = () => import('./views/Form.vue');const Table = () => import('./views/Table.vue');const NavMenu = () => import('./views/NavMenu.vue');Vue.use(Router);export default new Router({ mode: 'history', base: process.env.BASE_URL, routes: [ { path: '/', name: 'home', component: Home }, { path: '/about', name: 'about', component: About }, { path: '/form', name: 'myForm', component: Form }, { path: '/table', name: 'myTable', component: Table }, { path: '/nav_menu', name: 'myNavMenu', component: NavMenu } ]});

更細(xì)節(jié)的內(nèi)容參見(jiàn)官方文檔

以上就是Vue項(xiàng)目打包編譯優(yōu)化方案的詳細(xì)內(nèi)容,更多關(guān)于vue項(xiàng)目打包優(yōu)化的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 国产欧美精品一区二区 | 日韩在线视频免费 | 精品欧美高清一区二区免费 | 亚洲国产精品自产拍在线播放 | 国产精品久久久久久吹潮 | 理论片免费午夜 | 在线不卡一区二区三区日韩 | 国产一区二区三区免费视频 | 波多野结衣在线观看一区二区三区 | 一区二区三区中文国产亚洲 | 欧美一级视屏 | 久久综久久美利坚合众国 | 67194国产精品| 三级黄色片在线免费观看 | 亚洲福利影院 | 免费看一级毛片欧美 | 国产日韩欧美精品一区二区三区 | 成人天堂av| 欧美日韩国产片 | 免费精品99久久国产综合精品 | 成人毛片免费视频 | 色视频www在线播放国产人成 | 色九| 久草中文在线观看 | 一级黄色免费网站 | 久久精品网站免费观看调教 | 亚洲欧美中文字幕在线网站 | 欧美精品在线一区 | 日本精品高清一区二区不卡 | 美国免费一级片 | 九九99re在线视频精品免费 | 久久国产成人 | 欧美亚洲国产精品久久久 | 特级淫片国产免费高清视频 | 日韩在线二区全免费 | 毛片免费在线 | www.久久视频| 免费一级欧美片在线观免看 | 亚洲免费视频播放 | 精品欧美成人高清视频在线观看 | 台湾三级香港三级在线中文 |