iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >react前端项目打包优化的方法
  • 147
分享到

react前端项目打包优化的方法

2023-06-05 03:06:43 147人浏览 八月长安
摘要

今天小编给大家分享一下React前端项目打包优化的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。分析通过控制台判断加载资

今天小编给大家分享一下React前端项目打包优化的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

分析

通过控制台判断加载资源时间还有资源大小

react前端项目打包优化的方法

通过开发工具可以看到白屏的主要原因在于bundle.js这个打包后的文件过大,达到3.6M加上uat环境带宽等问题的话,光加载这个bundle.js就花了30s+,所以白屏时间太长,用户体验差要解决这个问题就得从这个bundle.js入手复制代码

通过webpack-bundle-analyzer来分析主要是哪些模块过大

const BundleAnalyzerPlugin = require('WEBpack-bundle-analyzer').BundleAnalyzerPluginconst webpackConfigDev = {  plugins: [    ......    new BundleAnalyzerPlugin({ analyzerPort: 3012 }),  ]}

react前端项目打包优化的方法

这是本地开发时候打包的情况,没有gzip的情况下是这么大的,本地开发编译打包也是挺慢的从上图看可以分析出几个比较大的模块,其中一个最大的是echarts,另外就是源文件src目录下的代码所以优化分为三步来走:

1.优化echarts;

2.优化src下的业务代码;

3.对打包后的文件进行gzip压缩;

优化

优化echarts

echarts在项目中用到的地方不少,但是业务平时很少用到对应的模块,整个打包进去bundle.js只会让整个包变大思路是echarts文件不打包进bundle.js,采用cdn的方法引入复制代码

优化echarts相关代码

1.入口文件index.html这里直接用script直接引入cdn的echarts文件

<head>   <meta charset="UTF-8">   <meta Http-equiv="Cache-Control" content="max-age=604800" />   <script src="https://cdn.bootCSS.com/echarts/4.2.1-rc1/echarts.min.js"></script>   <title>TCRM</title> </head> <body>

2.使用echarts的地方改为下面这样引入

原先的   var myChart = echarts.init(this.refs.char,'crm');

改版后    var myChart = this.$echarts.init(this.refs.char,'crm');

优化src文件

对于用户来说,可能每次操作的时候只操作对应的几个模块,其他模块很少操作到,如果能够按需加载那就可以化整为零每次加载当前模块的chunk,既不影响用户使用,又减少加载的资源参考了一下其他文章,决定采用react-loadable进行切割划分,按路由来切割资源复制代码

react-loadable相关代码

原先写法,组件引入

import Dashboard from './components/Dashboard';

使用react-loadable后

import Loadable from 'react-loadable';const LoadingFun = () => {  return <div className="center-div"><Spin spinning={true} size="large" tip="加载中..."/></div>;};const Dashboard = Loadable({loader: () => import('./components/Dashboard'), loading: LoadingFun});webpack相关const webpackConfigBase = {  ......  output: {    path: resolve('./dist'),    filename: 'bundle.[hash:6].js',    chunkFilename: 'chunks/[name].[hash:6].js',  }  }

本地运行分chunks打包

react前端项目打包优化的方法 

react前端项目打包优化的方法

 分步打包碰到的问题

1.打包样式问题,所有的css打包到bundle.css中,但是采用按路由打包后测试的小妹妹反馈样式很奇怪看了一下加载的资源,发现确实没有打包到不同路由下的样式,检查了一下,发现是webpack配置里面要配合改一下

const webpackConfigBase = {  ......  plugins: [    // 提取css    //原先的 new ExtractTextPlugin('bundle.[hash:6].css'),    new ExtractTextPlugin({filename: 'bundle.[hash:6].css', allChunks: true}), // 增加一个allChunks:true   ]}

2.chunk的名字问题,先要指定对应的chunkName参考 https://GitHub.com/mrdulin/blog/issues/43

gzip压缩

项目是用的Nginx做代理调用打包后的资源,所以可以考虑在nginx这一层增加配置配合gzip文件

新增相关配置

gzip on;gzip_min_length 1k;gzip_buffers   4 16k;gzip_http_version 1.1;gzip_comp_level 9;gzip_types    text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-PHP application/javascript application/JSON;gzip_disable "MSIE [1-6]\.";gzip_vary on;

优化成果

react前端项目打包优化的方法

以上就是“react前端项目打包优化的方法”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: react前端项目打包优化的方法

本文链接: https://www.lsjlt.com/news/240832.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react前端项目打包优化的方法
    今天小编给大家分享一下react前端项目打包优化的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。分析通过控制台判断加载资...
    99+
    2023-06-05
  • react前端项目打包优化的示例分析
    小编给大家分享一下react前端项目打包优化的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!分析通过控制台判断加载资源时间还有资源大小通过开发者工具可以看到白屏的主要原因在于bun...
    99+
    2022-10-19
  • Vue项目优化打包之前端必备加分项
    目录前言 一、路由懒加载 1. 为什么需要路由懒加载 2. 如何实现路由懒加载 3. 路由懒加载中的魔法注释 二、分析包大小 1. 需求 2. 如何生成打包分析文件 三、webpac...
    99+
    2022-11-12
  • react项目优化配置的方法
    本篇内容介绍了“react项目优化配置的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!优化-配置CDN通过 craco 来修改 webp...
    99+
    2023-07-02
  • vue项目打包优化的方法实战记录
    目录1.按需加载第三方库2.移除console.log3. Close SourceMap4. Externals && CDN5.路由懒加载的方式总结1.按需加载第...
    99+
    2022-11-13
  • Vue项目中打包优化的四种方法详解
    目录前言打包优化的目的:性能优化的主要方向:1.异步组件配置(路由懒加载)2.去掉打包后的 console3.使用CDN4.yarn build生成dist目录总结前言 默认情况下,...
    99+
    2022-11-13
  • 整理项目中vue.config.js打包优化配置方法
    目录整理项目中vue.config.js打包优化配置 webpack-bundle-analyzer 插件查看文件大小配置compression-webpack-plugin 用gz...
    99+
    2023-02-17
    vue.config.js打包优化 vue 打包优化
  • Springboot项目的打包方法
    这篇文章主要介绍“Springboot项目的打包方法”,在日常操作中,相信很多人在Springboot项目的打包方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Springboot项目的打包方法”的疑惑有所...
    99+
    2023-06-19
  • Rainbond对前端项目Vue及React持续部署的方法
    这篇文章主要讲解了“Rainbond对前端项目Vue及React持续部署的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Rainbond对前端项目Vue及React持续部署的方法”吧!前...
    99+
    2023-06-30
  • vue项目打包优化方式(让打包的js文件变小)
    目录我使用的命令是 vue ui 可视化打包操作进入可视化面板需要通过vue.config.js来配置.js文件中,导致该js文件过大通常在一个vue项目中会用到很多插件什么,swi...
    99+
    2022-11-13
  • vue项目打包优化的示例分析
    小编给大家分享一下vue项目打包优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用vue-cli部署生产包时,发现...
    99+
    2022-10-19
  • electron打包vue项目的方法步骤
    目录创建项目添加electron-builderelectron下载失败窗体运行打包exe白屏创建项目 点击这里 添加electron-builder 1、在项目目录下运行命令:vu...
    99+
    2022-11-13
  • vue前端项目打包成Docker镜像并运行的实现
    目录vue前端项目打包成Docker镜像并运行前端将vue打包成镜像发布一、总体预览二、打包配置三、问题思考vue前端项目打包成Docker镜像并运行 首先说明咱们的前端项目是基于V...
    99+
    2022-11-13
    vue前端项目打包 打包Docker镜像 Docker镜像运行
  • python项目依赖包打包的方法是什么
    在Python项目中,可以使用pip工具来管理和打包项目依赖包。以下是一些常见的方法:1. 使用requirements.txt文件...
    99+
    2023-09-23
    python
  • nginx部署多前端项目的几种方法
    个人总结了3种方法来实现在一台服务器上使用nginx部署多个前端项目的方法。 基于域名配置 基于端口配置 基于location配置 在正式开始之前,我们先...
    99+
    2022-11-12
  • java Springboot项目打包的方法是什么
    这篇文章主要讲解了“java Springboot项目打包的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java Springboot项目打包的方法是什么”吧!一、打包方式通过m...
    99+
    2023-06-05
  • 分享PyCharm项目打包的简易方法
    简单易懂的PyCharm项目打包方法分享随着Python的流行,越来越多的开发者使用PyCharm作为Python开发的主要工具。PyCharm是功能强大的集成开发环境,它提供了许多方便的功能来帮助我们提高开发效率。其中一个重要的功能就是项...
    99+
    2023-12-30
    项目 Pycharm 打包
  • Vue项目打包、合并及压缩优化网页响应速度的方法
    这篇文章主要介绍“Vue项目打包、合并及压缩优化网页响应速度的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue项目打包、合并及压缩优化网页响应速度的方法”文...
    99+
    2022-10-19
  • vue项目打包以及优化的实现步骤
    目录vue项目的打包上线及优化vue项目的打包项目托管项目的常见优化vue项目的打包上线及优化 项目完成,我们会将项目进行上线,为了提升性能,我们往往会进行一些优化处理 vue项...
    99+
    2022-11-12
  • Maven 项目用Assembly打包可执行jar包的方法
    目录1、添加maven插件2、mvn clean(清理下项目)3、maven update project(用eclipse工具)4、命令后执行命令mvn assembly:asse...
    99+
    2023-03-01
    Maven打包可执行jar包 Maven Assembly打包
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作