react 打包优化,开启gzip压缩

前言

本文基于 (“react”: “^16.13.1”) 版本
react官方脚手架默认是将webpack配置隐藏起来了,在进行配置之前需要将webpack给暴露出来。

1.输入命令 npm run eject
react 打包优化,开启gzip压缩_第1张图片
会出现一个命令提示:这是一个单向操作,确认操作后不可逆转/返回?
输入 y 回车
成功之后 在项目根目录出现 config 文件夹
react 打包优化,开启gzip压缩_第2张图片
2.使用 compression-webpack-plugin 插件进行压缩

npm install compression-webpack-plugin --save-dev

3.打开 config 文件夹下的 webpack.config.js 文件
react 打包优化,开启gzip压缩_第3张图片
4.在 module.exports 对象前面引入插件

const CompressionPlugin = require("compression-webpack-plugin");

react 打包优化,开启gzip压缩_第4张图片
5.开启gzip
直接搜索 HtmlWebpackPlugin 找到 plugins 配置项
可以直接将配置项加在第一项

// compression-webpack-plugin 因为版本问题,2.x将 asset 改为了 filename
new CompressionPlugin({
    filename: '[path].gz[query]', // 目标资源名称。[file] 会被替换成原资源。[path] 会被替换成原资源路径,[query] 替换成原查询字符串
    algorithm: 'gzip', // 算法       
    test: new RegExp('\\.(js|css)$'), // 压缩 js 与 css
    threshold: 10240, // 只处理比这个值大的资源。按字节计算
    minRatio: 0.8 // 只有压缩率比这个值小的资源才会被处理
}),

react 打包优化,开启gzip压缩_第5张图片
6.效果图,执行 npm run build
react 打包优化,开启gzip压缩_第6张图片

注:前端进行打包生成gzip文件后,nginx也需要进行配置

如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。

你可能感兴趣的:(javaScript,react)