在vue.config.js中優(yōu)化webpack配置的方法
前言:
在日常開發(fā)中我們離不開打包工具webpack,但是不同的配置會影響我們項目的運行構建時間,也會影響打包之后項目包的大小,這篇文章記錄一下我使用過的可以優(yōu)化webpack的配置。
注:以本專欄上篇文章里面的vue.config.js為基礎,去加配置
一、壓縮圖片
1、先下載依賴
npm install --save-dev image-webpack-loader
2、在vue.config.js的module.exports上面先定義設置值
①默認設置:(4M的圖片使用默認設置壓縮成1.4M)
const defaultOptions = {
bypassOnDebug: true,
};②自定義設置
const customOptions = {
mozjpeg: {
progressive: true,
quality: 50
},
optipng: {
enabled: true,
},
pngquant: {
quality: [0.5, 0.65],
speed: 4
},
gifsicle: {
interlaced: false,
},
// 不支持WEBP就不要寫這一項
webp: {
quality: 75
}
}3、在chainWebpack中加入配置:
chainWebpack: config => {
config.module.rule('images')
.test(/\.(gif|png|jpe?g|svg)$/i)
.use('image-webpack-loader')
.loader('image-webpack-loader')
.options(customOptions)
.end()
}options中可以切換使用默認還是自定義
二、公共代碼抽離:
在configureWebpack加入配置:
configureWebpack: (config) => {
config.optimization = {
splitChunks: {
cacheGroups: {
vendor: {
chunks: "all",
test: /node_modules/,
name: "vendor",
minChunks: 1,
maxInitialRequests: 5,
minSize: 0,
priority: 100,
},
common: {
chunks: "all",
test: /[\\/]src[\\/]js[\\/]/,
name: "common",
minChunks: 2,
maxInitialRequests: 5,
minSize: 0,
priority: 60,
},
styles: {
name: "styles",
test: /\.(sa|sc|c)ss$/,
chunks: "all",
enforce: true,
},
runtimeChunk: {
name: "manifest",
},
},
},
};
}三、對代碼進行壓縮,并移除控制臺輸出
1、先下載依賴
npm install uglifyjs-webpack-plugin --save-dev
2、在vue.config.js的第一行引入依賴
const UglifyPlugin = require("uglifyjs-webpack-plugin");
3、在configureWebpack中加入配置:
config.plugins.push(
new UglifyPlugin({
uglifyOptions: {
//生產(chǎn)環(huán)境自動刪除console
compress: {
drop_debugger: true,
drop_console: true,
pure_funcs: ["console.log"],
},
},
sourceMap: false,
parallel: true,
})
);以上就是在vue.config.js中優(yōu)化webpack配置的方法的詳細內容,更多關于vue.config.js優(yōu)化webpack的資料請關注腳本之家其它相關文章!
相關文章
解決vue-router在同一個路由下切換,取不到變化的路由參數(shù)問題
今天小編就為大家分享一篇解決vue-router在同一個路由下切換,取不到變化的路由參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
VUE 無限層級樹形數(shù)據(jù)結構顯示的實現(xiàn)
在做項目中,會遇到一些樹形的數(shù)據(jù)結構,常用在左側菜單導航,本文就介紹一下如何實現(xiàn),感興趣的可以了解一下2021-07-07
Vue3實現(xiàn)組件通信的14種方式詳解與實戰(zhàn)
在Vue3中,組件通信仍然是一個非常重要的話題,因為在大多數(shù)應用程序中,不同的組件之間需要進行數(shù)據(jù)傳遞和交互,在Vue3中,組件通信有多種方式可供選擇,本文給大家介紹了Vue3實現(xiàn)組件通信的14種方式,需要的朋友可以參考下2025-08-08

