返回顶部
首页 > 资讯 > 精选 >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://lsjlt.com/news/240832.html(转载时请注明来源链接)

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

猜你喜欢
  • react前端项目打包优化的方法
    今天小编给大家分享一下react前端项目打包优化的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。分析通过控制台判断加载资...
    99+
    2023-06-05
  • react前端项目打包优化的示例分析
    小编给大家分享一下react前端项目打包优化的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!分析通过控制台判断加载资源时间还有资源大小通过开发者工具可以看到白屏的主要原因在于bun...
    99+
    2024-04-02
  • Vue项目优化打包之前端必备加分项
    目录前言 一、路由懒加载 1. 为什么需要路由懒加载 2. 如何实现路由懒加载 3. 路由懒加载中的魔法注释 二、分析包大小 1. 需求 2. 如何生成打包分析文件 三、webpac...
    99+
    2024-04-02
  • react项目优化配置的方法
    本篇内容介绍了“react项目优化配置的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!优化-配置CDN通过 craco 来修改 webp...
    99+
    2023-07-02
  • vue项目打包优化的方法实战记录
    目录1.按需加载第三方库2.移除console.log3. Close SourceMap4. Externals && CDN5.路由懒加载的方式总结1.按需加载第...
    99+
    2024-04-02
  • Vue项目中打包优化的四种方法详解
    目录前言打包优化的目的:性能优化的主要方向:1.异步组件配置(路由懒加载)2.去掉打包后的 console3.使用CDN4.yarn build生成dist目录总结前言 默认情况下,...
    99+
    2024-04-02
  • 整理项目中vue.config.js打包优化配置方法
    目录整理项目中vue.config.js打包优化配置 webpack-bundle-analyzer 插件查看文件大小配置compression-webpack-plugin 用gz...
    99+
    2023-02-17
    vue.config.js打包优化 vue 打包优化
  • Vue项目如何优化打包
    这篇文章主要为大家展示了“Vue项目如何优化打包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue项目如何优化打包”这篇文章吧。一、路由懒加载1.为什么需要路由懒加载当刚运行项目的时候,发现刚...
    99+
    2023-06-25
  • Vue项目优化打包详解
    目录前言 一、路由懒加载1.为什么需要路由懒加载 2.如何实现路由懒加载 3.路由懒加载中的魔法注释 二、分析包大小1.需求 2.如何生成打包分析文件 三、webpack配置排除打包...
    99+
    2024-04-02
  • vue项目打包优化方式(让打包的js文件变小)
    目录我使用的命令是 vue ui 可视化打包操作进入可视化面板需要通过vue.config.js来配置.js文件中,导致该js文件过大通常在一个vue项目中会用到很多插件什么,swi...
    99+
    2024-04-02
  • Springboot项目的打包方法
    这篇文章主要介绍“Springboot项目的打包方法”,在日常操作中,相信很多人在Springboot项目的打包方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Springboot项目的打包方法”的疑惑有所...
    99+
    2023-06-19
  • Rainbond对前端项目Vue及React持续部署的方法
    这篇文章主要讲解了“Rainbond对前端项目Vue及React持续部署的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Rainbond对前端项目Vue及React持续部署的方法”吧!前...
    99+
    2023-06-30
  • vue项目打包优化的示例分析
    小编给大家分享一下vue项目打包优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用vue-cli部署生产包时,发现...
    99+
    2024-04-02
  • webpack4如何打包vue前端多页面项目
    这篇文章主要介绍webpack4如何打包vue前端多页面项目,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.用法项目结构如下:project  |- bulid...
    99+
    2024-04-02
  • 打包前后端项目并部署至服务器
    1、打包前端项目 打包命令:npm run build 执行完命令后,会生成一个名为 dist 的文件夹,这个就是打包好的前端项目。 2、打包后端项目 2.1、执行 maven 的 clean ,删除项目编译创建的 target 文...
    99+
    2023-08-18
    linux
  • 前端项目中的Vue、React错误监听
    目录一、 Vue 错误监听window.onerrorerrorCaptured 生命周期errorHandler异步错误答案扩展二、React 错误监听ErrorBoundaryd...
    99+
    2024-04-02
  • vue项目打包以及优化的实现步骤
    目录vue项目的打包上线及优化vue项目的打包项目托管项目的常见优化vue项目的打包上线及优化 项目完成,我们会将项目进行上线,为了提升性能,我们往往会进行一些优化处理 vue项...
    99+
    2024-04-02
  • 前端vue打包项目,如何解决跨域问题
    目录vue打包项目解决跨域vue项目解决跨域(打包上线无需手动切换url)vue打包项目解决跨域 前段时间做一个vue打包成安卓和IOS的App,遇到了跨域问题,直接拿了之前项目的配...
    99+
    2024-04-02
  • Vue项目打包优化实践指南(推荐!)
    目录业务背景项目打包时间分析方法优化配置的基本思路前置操作,先通过 webpack-bundle-analyzer 查看资源树1.vue.config.js 文件中修改:produc...
    99+
    2024-04-02
  • JavaScriptwebpack模块打包器如何优化前端性能
    目录一、webpack的使用背景二、webpack如何优化1. JS代码压缩2.CSS代码压缩3. HTML文件压缩4. 文件大小压缩5. 图片压缩6. Tree Shaking7....
    99+
    2022-11-13
    JavaScript webpack JavaScript webpack优化性能
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作