首页 > 其他分享 >VUE 代码压缩优化

VUE 代码压缩优化

时间:2022-10-19 10:22:48浏览次数:52  
标签:VUE false plugin 压缩 webpack console true 代码

1、设置productionSourceMap为false

如果不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。

设置为false打包时候不会出现.map文件

module.exports = {
    productionSourceMap: false
}

2、代码压缩

安装uglifyjs-webpack-plugin插件,可以去除项目中console.log和debugger
 
npm install uglifyjs-webpack-plugin --save
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
// 生产环境相关配置
if (isProduction) {
    // 代码压缩
    config.plugins.push(
        new UglifyJsPlugin({
            uglifyOptions: {
                //生产环境去除console等信息
                compress: {
                    warnings: false, // 若打包错误,则注释这行
                    drop_debugger: true,//是否移除debugger
                    drop_console: true,
                    pure_funcs: ['console.log']//移除console
                }
            },
            sourceMap: false,
            parallel: true
        })
    )
}

3、图片资源压缩

 安装 image-webpack-loader 插件,可以将大图片进行压缩从而缩小打包体积
 
npm install image-webpack-loader --save
    chainWebpack: config => {
        // ============压缩图片 start============
        config.module
            .rule('images')
            .use('image-webpack-loader')
            .loader('image-webpack-loader')
            .options({ bypassOnDebug: true })
            .end()
        // ============压缩图片 end============
    }

4、开启gzip压缩

开启gzip压缩,可以优化http请求,提高加载速度
 
npm install compression-webpack-plugin --save-dev
const CompressionPlugin = require("compression-webpack-plugin");
// 开启gzip压缩
config.plugins.push(new CompressionPlugin({
    algorithm: 'gzip',
    test: new RegExp("\\.(" + ["js", "css"].join("|") + ")$"), // 匹配文件扩展名
    // threshold: 10240, // 对超过10k的数据进行压缩
    threshold: 5120, // 对超过5k的数据进行压缩
    minRatio: 0.8,
    cache: true, // 是否需要缓存
    deleteOriginalAssets:false  // true删除源文件(不建议);false不删除源文件
 }))

 

标签:VUE,false,plugin,压缩,webpack,console,true,代码
From: https://www.cnblogs.com/amujoe/p/16805304.html

相关文章

  • 用Typescript 的方式封装Vue3的表单绑定,支持防抖等功能。
    Vue3的父子组件传值、绑定表单数据、UI库的二次封装、防抖等,想来大家都很熟悉了,本篇介绍一种使用Typescript的方式进行统一的封装的方法。基础使用方法Vue3对于表单的绑......
  • 快速卸载Vue脚手架(vue-cli
    一、卸载vue-cli执行命令:npmuninstallvue-cli-g或者npmunivue-cli-g检查vue-cli卸载成功没执行命令:vue-V出现‘vue’不是内部或外部命令,也不是可运行的程序,代......
  • vue路由传参,query和params的区别
    路由传参是使用vue最常用的方法,而其中query和params都能实现传参效果,不过这两者还是有区别的首先路由配置{path:'/admin',//组件路径name:'admin',//组件别名com......
  • 解决Vue打印el-table不完全的pdf问题
    智能中医项目中的打印报告要新增一项异常检测表格的显示,纸张定为A4纸张竖向打印,在使用el-table后发现,虽然页面中显示无误,但不管怎么样设置table的宽度,打印的pdf中最后一列......
  • vue中页面调用多次组件,会出现组件之间相互影响
    这个大部分发生在echarts和地图中,我们为了节省性能把echarts和map对象没有绑定在vue对象上导致,一个页面多次调用时会出现问题,解决办法:如果确定一个页面调用多次了,就把echa......
  • RuoYi-Vue切换达梦数据库(一)
    一、达梦数据库安装这里使用的达梦8开发版 ,安装过程没什么且包内有说明文档。要注意的点是创建数据库实例时,记得取消勾选字符串比较大小写敏感。二、达梦数据库用户设......
  • RuoYi-Vue切换达梦数据库(二)
    一、JDBC依赖代码部分适配 RuoYi-Vuev3.8.4前后端分离版1、修改admin模块下的pom.xml文件Maven仓库中存在,直接替换注意jdbc包的版本:Dm7JdbcDriver18中7是DM数据库的......
  • dotnet 用 SourceGenerator 源代码生成技术实现中文编程语言
    相信有很多伙伴都很喜欢自己造编程语言,在有现代的很多工具链的帮助下,实现一门编程语言,似乎已不是一件十分困难的事情。我利用SourceGenerator源代码生成技术实现了一个简......
  • vue3+vite+ts自动引入api和组件
    安装cnpminstallunplugin-auto-importunplugin-vue-components-d配置//自动导入compositionapi和生成全局typescript说明importAutoImportfrom'unplugin-au......
  • 代码随想录05
    LeetCode454 四数相加给定四个包含整数的数组列表 A,B,C,D,计算有多少个元组(i,j,k,l) ,使得 A[i]+B[j]+C[k]+D[l]=0。为了使问题简单化,所有的A......