vue-cli4打包最强优化(10M变300kb)

//配置alias别名后

import Home from ‘views/Home.vue’

//也可以这么写

import Home from ‘@/views/Home.vue’

[](()项目结束后打包前webpack配置

====================================================================================

目的:

  • 提高打包速度

  • 减小项目体积、提高首屏加载速度

  • 提高用户体验(骨架屏)

打包前必做

项目开发完成后,运行npm run build进行打包操作。打包前对webpack配置。

module.exports = {

publicPath: ‘./’, // 静态资源路径(默认/,打包后会白屏)

outputDir: ‘dist’, // 打包后文件的目录 (默认为dist)

assetsDir: ‘static’, // outputDir的静态资源(js、css、img、fonts)目录 默认为‘’没有单独目录js/css/img在根目录中。

}

[](()一、去除生产环境sourceMap

问题: vue项目打包之后js文件夹中,会自动生成一些map文件,占用相当一部分空间

sourceMap资源映射文件,存的是打包前后的代码位置,方便开发使用,这个占用相当一部分空间。

map文件的作用在于:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错,有了map就可以像未加密的代码一样,准确的输出是哪一行哪一列有错。

生产环境是不需要sourceMap的,如下配置可以去除

module.exports = {

//去除生产环境的productionSourceMap

productionSourceMap: false,

}

去除sourceMap前后对比,减少了很大体积。

前:dist大小为7M

后:dist大小为3M

[](()二、去除console.log打印以及注释

下载插件

cnpm install uglifyjs-webpack-plugin --save-dev

const UglifyJsPlugin = require(‘uglifyjs-webpack-plugin’)

const isProduction = process.env.NODE_ENV === ‘production’;

configureWebpack: config => {

const plugins = [];

if (isProduction) {

plugins.push(

new UglifyJsPlugin({

uglifyOptions: {

output: {

comments: false, // 去掉注释

},

warnings: false,

compress: {

drop_console: true,

drop_debugger: false,

pure_funcs: [‘console.log’]//移除console

}

}

})

)

}

},

结论:重新打包,dist体积减少并不大。因为congsole.log()以及注释并不会占用太多体积(也就10-30kb)

[](()三、使用CDN 加速优化

cdn优化是指把第三方库比如(vue,vue-router,axios)通过cdn的方式引入项目中,这样vendor.js会显著减少,并且大大提升项目的首页加载速度,下面是具体操作:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值