recat打包优化

简介: recat打包优化

项目打包和优化-项目打包

目标:能够通过命令对项目进行打包

步骤:


在项目根目录打开终端,输入打包命令:npm run build

等待打包完成,打包后的内容被放在项目根下的 build 文件夹中

项目打包和优化-项目本地预览

目标:能够在本地预览打包后的项目

步骤:


全局安装本地服务包:npm i -g serve,该包提供了 serve 命令,用来启动本地服务

在项目根目录中执行命令:serve -s ./build,在 build 目录中开启服务器

在浏览器中访问:http://localhost:5000/ 预览项目

项目打包和优化-打包体积分析

目标:能够分析项目打包体积


分析说明:通过分析打包体积,才能知道项目中的哪部分内容体积过大,才能知道如何来优化


步骤:


安装分析打包体积的包:npm i source-map-explorer


在 package.json 中的 scripts 标签中,添加分析打包体积的命令

"scripts": {
  "analyze": "source-map-explorer 'build/static/js/*.js'",
}


对项目打包:npm run build(如果已经打过包,可省略这一步)


运行分析命令:npm run analyze


通过浏览器打开的页面,分析图表中的包体积


核心代码:


项目打包和优化-生产环境优化

目标:能够根据是否为生产环境对redux中间件进行优化

核心代码:

store/index.js 中:
 
let middlewares
 
if (process.env.NODE_ENV === 'production') {
  // 生产环境,只启用 thunk 中间件
  middlewares = applyMiddleware(thunk)
} else {
  middlewares = composeWithDevTools(applyMiddleware(thunk))
}


项目打包和优化-路由懒加载

目标:能够对路由进行懒加载实现代码分隔

步骤:


在 App 组件中,导入 Suspense 组件

在 Router 内部,使用 Suspense 组件包裹组件内容

为 Suspense 组件提供 fallback 属性,指定 loading 占位内容

导入 lazy 函数,并修改为懒加载方式导入路由组件

import { lazy, Suspense } from 'react'
 
// 导入页面组件
const Login = lazy(() => import('./pages/Login'))
const Layout = lazy(() => import('./pages/Layout'))
 
const App = () => {
  return (
    <Router history={history}>
      <Suspense
        fallback={
          <div
            style={{
              textAlign: 'center',
              marginTop: 200
            }}
          >
            loading...
          </div>
        }
      >
        <div className="app">
          <Route exact path="/" render={() => <Redirect to="/home" />}></Route>
          <Route path="/login" component={Login}></Route>
          <AuthRoute path="/home" component={Layout}></AuthRoute>
        </div>
      </Suspense>
    </Router>
  )
}
 
export default App
相关文章
|
4月前
|
Java 程序员 Android开发
apk简单介绍(组成以及打包安装流程)
apk简单介绍(组成以及打包安装流程)
127 0
|
4月前
|
移动开发 安全 前端开发
优化 uniapp 发行操作:一键打包、混淆代码
优化 uniapp 发行操作:一键打包、混淆代码
287 0
|
3月前
|
Java 测试技术 Maven
Maven打包使用多线程加速构建过程
Maven打包使用多线程加速构建过程
526 0
|
3月前
|
Java Linux
springboot打包部署,分离依赖减少上传体积
springboot打包部署,分离依赖减少上传体积
|
4月前
|
缓存 前端开发 算法
前端需要加载一个大体积的文件时,可以这么优化
前端需要加载一个大体积的文件时,可以这么优化
|
4月前
|
缓存 前端开发 JavaScript
Vite 打包优化:全面解析与实践
Vite 作为新一代前端构建工具,以其快速开发体验和高效打包能力著称。然而,在实际项目开发中,为了进一步提升性能和用户体验,我们仍需对 Vite 打包进行优化。本文将深入探讨 Vite 打包优化策略,涵盖代码拆分、资源压缩、缓存利用、构建配置等多个方面,并提供实践案例和最佳实践建议,帮助开发者充分释放 Vite 的潜力。
1321 1
|
4月前
|
算法 图形学 UED
【Unity 3D】AssetBundle工作流程、打包策略详解(超详细必看)
【Unity 3D】AssetBundle工作流程、打包策略详解(超详细必看)
329 0
|
缓存 JavaScript CDN
关于vite打包优化,你了解多少
关于vite打包优化,你了解多少
|
Java Maven
springboot依赖分离,本地代码和第三方依赖包分开,减少部署服务时的上传时间
在pom.xml中的<build>标签中的<plugins>标签中添加下面这个插件
|
Web App开发 缓存 前端开发