处理nuxt打包后vendor.js文件大的问题

将基于nuxt的前端项目部署到服务器后,发现打开网页加载速度慢,后来经过排查发现原因是由于vendor.js的大小太庞大导致的。这篇博客记录了四种对此问题的优化。

  • 首先先进行查看nuxt分析打包文件大小
            在nuxt.config.js中配置
build:{
    // 开启打包分析
    analyze: true,
    assetFilter: function(assetFilename) {
        return assetFilename.endsWith('.js');
    }
}

        使用命令npm run build

优化:

  1. 加入splitChunks
    在nuxt.config.js中添加
module.exports = {
	build: {
		optimization: {
			splitChunks:{
    			minSize:10000,
        		maxSize:250000
        	}
		},
	},
}

使用splitChunks将chunks明确切分开来。

  1. 加入LodashModuleReplacementPlugin
    首先先npm i -D lodash-webpack-plugin
    在nuxt.config.js中添加
const LodashModuleReplacementPlugin = require('lodash-webpack-plugin')
module.exports = {
	build: {
		extend(config,ctx){
        	config.plugins.unshift(new LodashModuleReplacementPlugin)
         	config.module.rules[2].use[0].options.plugins = ['lodash']
    	},
	},
}
  1. 加入vuetify-loader
    在nuxt.config.js中添加
const VuetifyLoaderPlugin = require('vuetify-loader/lib/plugin')
module.exports = {
	transpile:[/^vuetify/],
    extend(config,ctx){
		config.plugins.push(new VuetifyLoaderPlugin())
    },
}
  1. CSS懒加载

这种方法使用后网页开始显示时是不会带入CSS的样式的,会影响显示效果。

在nuxt.config.js中添加

module.exports = {
	build: {
		extractCSS:true,
	}
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值