首页 > 其他分享 >react 使用splitChunks 拆分组件,缩小项目体积,加快加载访问速度

react 使用splitChunks 拆分组件,缩小项目体积,加快加载访问速度

时间:2024-02-27 15:11:05浏览次数:32  
标签:react splitChunks app analyzer 访问速度 config rewired

react编写项目引入npm包打包时,总会将一些npm包重复打包的不同的js文件中,可以使用splitChunks 进行拆分,降低体积,加快速度

1、安装

npm install customize-cra webpack-bundle-analyzer

2、修改启动命令,在package.json中修改

 "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-app-rewired eject"
  },

3、在项目根目录下新建config-overrides.js 文件,在里面如下配置

const { override } = require("customize-cra");
const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer");

// View packaging size
const analyzer = () => (config) => {
  if (config.mode === "production") {
    config.plugins.push(new BundleAnalyzerPlugin());
  }
  return config;
};
module.exports = override(
  analyzer(),   //打包后可以查看项目中重复引用的npm包,方便底下拆分
  (config) => {
  config.optimization.splitChunks = {
    cacheGroups: {
      reactDom: {
        chunks: "all",
        test: /(react-dom)/,  //只是示例,可以自己根据需要调整
        name: "reactDom",
        priority: 100,
        enforce: true,
      },
    },
  };
  return config;
});

 配置完成,快去试试效果

 

标签:react,splitChunks,app,analyzer,访问速度,config,rewired
From: https://www.cnblogs.com/uimeigui/p/18036920

相关文章

  • react错误:Uncaught Error: Too many re-renders. React limits the number of renders
    react错误:UncaughtError:Toomanyre-renders.Reactlimitsthenumberofrenderstopreventaninfiniteloop. 信铁寒胜:更改页面数据时未放到useEffect方法内,导致页面一直在刷新。  原因1:错误写法:<divclassName='article_item'onClick={toArticleDetail......
  • react ProTable树默认只展示第一层和第二层
    要在AntDesignPro中的ProTable组件中默认展开第一层和第二层,您可以使用expandable的defaultExpandAllRows选项结合expandedRowKeys来实现。以下是一个示例代码,演示如何在AntDesignPro中的ProTable组件中默认展示第一层和第二层:import{ProTable}from'@an......
  • 利用IO复用技术Epoll与线程池实现多线程的Reactor高并发模型
    Reactor模型是一种常见的高并发设计模式,特别是在网络编程中。在Reactor模型中,一个或多个输入同时传递给一个或多个服务处理程序。服务处理程序对输入进行处理,然后将结果传递给相应的输出处理程序。使用IO复用技术(如epoll)和线程池,可以实现多线程的Reactor高并发模型。下面是一个简......
  • 使用`react-hooks写法`对`antd的Upload.Dragger上传组件`进行二次封装
    使用react-hooks写法对antd的Upload.Dragger上传组件进行二次封装预期对antd的Upload.Dragger组件进行二次封装,让它的使用方法和Upload.Dragger组件保持一致。让该组件能自动把数据放到对应后端服务器中。让该组件能的value值如果没上传,为数组形式。如果没有值,为空数组。如......
  • 依赖注入(Dependency Injection, DI)是一种设计模式,例如,在React中,父组件可以通过props向
    依赖注入renderprops其实就是React世界中的“依赖注入”(DependencyInjection)。所谓依赖注入,指的是解决这样一个问题:逻辑A依赖于逻辑B,如果让A直接依赖于B,当然可行,但是A就没法做得通用了。依赖注入就是把B的逻辑以函数形式传递给A,A和B之间只需要对这个函数......
  • PropTypes 是 React 提供的一个用于类型检查的库 若使用了ts,还需要使用PropTypes吗
    在使用了TypeScript的React项目中,由于TypeScript已经提供了静态类型检查的能力,通常不需要再额外使用prop-types库进行运行时的类型检查。TypeScript在编译阶段就能通过类型注解确保组件之间的props类型正确无误,这有助于在开发阶段就发现类型不匹配的问题。而prop-ty......
  • react生命周期
    1.类组件生命周期以下是React类组件的全部生命周期方法,按照调用顺序排列:constructor(props)用途:组件的构造函数,在组件实例化时调用,用于初始化状态和绑定方法。staticgetDerivedStateFromProps(props,state)用途:在组件实例化、接收新的属性(props)或调用setState方法......
  • react类组件和函数组件的区别
    1.类组件importTarofrom'@tarojs/taro';import{Component,useState}from'react'classClasstestextendsComponent{constructor(props){super(props);this.state={count:0};}//组件挂载到DOM后立即调用,也就是在组件的......
  • Reactive UI 包的使用 [观察者模式]
     1ReactiveUI原版说明包---------  |一个高级的、可组合的、反应式的模型-视图-视图模型框架(reactiveui.net)   2ReactiveUI具体分析拆解的笔记--------- ReactiveUI使用笔记,教程总结–CodeQing3ReactiveX对于具体的关键字分析 ----------ReactiveX-随笔分......
  • React18 之 Suspense
    我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:佳岚SuspenseSuspense组件我们并不陌生,中文名可以理解为暂停or悬停 ,在React16中我们通常在路由懒加载中配合Lazy组件一起使用......