vue項目打包優(yōu)化方式(讓打包的js文件變小)
通常在一個vue項目中會用到很多插件什么,swiper,axios,vuerouter,vuex,…,那么使用了很多插件勢必會造成打包的js文件過大,影響加載速度,造成不好的用戶體驗,那么我就來講一件我自己總結打包方式,(讓js文件變小)
我使用的命令是 vue ui 可視化打包操作
進入可視化面板
默認情況下,vue-cli 3.0生成的項目,隱藏了webpack配置項,如果我們需要配置webpack
需要通過vue.config.js來配置
在項目根目錄中創(chuàng)建vue.config.js文件,
module.exports = { chainWebpack:config=>{ //發(fā)布模式 config.when(process.env.NODE_ENV === 'production',config=>{ //entry找到默認的打包入口,調用clear則是刪除默認的打包入口 //add添加新的打包入口 config.entry('app').clear().add('./src/main-prod.js') }) //開發(fā)模式 config.when(process.env.NODE_ENV === 'development',config=>{ config.entry('app').clear().add('./src/main-dev.js') }) } }
補充:
chainWebpack可以通過鏈式編程的形式,修改webpack配置
configureWebpack可以通過操作對象的形式,修改webpack配置
**###7.加載外部CDN
默認情況下,依賴項的所有第三方包都會被打包到js/chunk-vendors.
.js文件中,導致該js文件過大
那么我們可以通過externals排除這些包,使它們不被打包到js/chunk-vendors.
module.exports = { chainWebpack:config=>{ //發(fā)布模式 config.when(process.env.NODE_ENV === 'production',config=>{ //entry找到默認的打包入口,調用clear則是刪除默認的打包入口 //add添加新的打包入口 config.entry('app').clear().add('./src/main-prod.js') //使用externals設置排除項 config.set('externals',{ vue:'Vue', 'vue-router':'VueRouter', axios:'axios', moment:'moment' }) }) //開發(fā)模式 config.when(process.env.NODE_ENV === 'development',config=>{ config.entry('app').clear().add('./src/main-dev.js') }) } }
在public 中的index文件中使用cdn引入外部js 從而然打包的js文件體積變小
我們來看下 沒有使用externals設置排除項 打包的js體積大小
來看下使用externals設置排除項以后的大小
明顯變小了,而且把項目跑在服務器上 明顯加載速度提升了很多
其他的優(yōu)化還有 使用vuerouter 的路由懶加載,這里就不再贅述,vuerouter懶加載解釋
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue3調度器錯誤解析完美解決Unhandled error during executi
最近開發(fā)時在Vue3項目中看到控制臺出現(xiàn)?“Unhandled error during execution of scheduler flush. This is likely a Vue internals bug”這個警告,下面給大家介紹Vue3調度器錯誤解析,完美解決Unhandled error during execution of scheduler flush的問題,一起看看吧2025-04-04淺談Vuex@2.3.0 中的 state 支持函數(shù)申明
這篇文章主要介紹了淺談Vuex@2.3.0 中的 state 支持函數(shù)申明,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11