美文网首页
vite4.2版本资源分包

vite4.2版本资源分包

作者: 泉泉泉泉泉泉 | 来源:发表于2025-01-19 14:31 被阅读0次

vite-plugin-chunk-split

Vite 代码拆包插件。支持多种拆包策略,可避免手动操作 manualChunks 潜在的循环依赖问题。

基本使用

首先安装依赖:

// use npm
npm i vite-plugin-chunk-split -D
// use yarn
yarn add vite-plugin-chunk-split -D
// use pnpm
pnpm i vite-plugin-chunk-split -D

然后你可以在 Vite 配置文件中使用它:

// vite.config.ts
import { chunkSplitPlugin } from 'vite-plugin-chunk-split';

{
  plugins: [
    // ...
    chunkSplitPlugin()
  ]
}

参数类型

type packageInfo = string | RegExp;
type Strategy =
  // 默认拆包方式
  | 'default'
  // 所有文件打包到一起
  | 'all-in-one'
  // 实现不打包的效果,一个文件一个 chunk
  | 'unbundle';

export type CustomSplitting = Record<string, packageInfo[]>;

export interface ChunkSplitOptions {
  strategy?: Strategy;
  customSplitting?: CustomSplitting;
}

你也可以使用插件的配置来精细化地控制拆包策略:

// vite.config.ts
import { chunkSplitPlugin } from 'vite-plugin-chunk-split';

{
  plugins: [
    // ...
    chunkSplitPlugin({
      strategy: 'default',
      customSplitting: {
        // `react` and `react-dom` 会被打包到一个名为`render-vendor`的 chunk 里面(包括它们的一些依赖,如 object-assign)
        'react-vendor': ['react', 'react-dom'],
        // 源码中 utils 目录的代码都会打包进 `utils` 这个 chunk 中
        'utils': [/src\/utils/]
      }
    })
  ]
}

另外,你也可以实现一键实现不打包(Bundleless),同时通过customSplitting参数来指定文件合并的策略:

// vite.config.ts
import { chunkSplitPlugin } from 'vite-plugin-chunk-split';

{
  plugins: [
    // ...
    chunkSplitPlugin({
      strategy: 'unbundle',
      customSplitting: {
        // src/container 下的所有文件会被合并成一个 chunk
        'container': [/src\/container/]
      }
    })
  ]
}

本项目中分包详情如下

// vite.config.ts
import { chunkSplitPlugin } from 'vite-plugin-chunk-split';

{
  plugins: [
    // ...
     chunkSplitPlugin({
        strategy: "default",
        customSplitting: {
          "utils-vendor": [
            /node_modules\/lodash/,
            /node_modules\/axios/,
            /node_modules\/dayjs/,
          ],
          echarts: [/node_modules\/echarts/],
          "rc-vendor": [/node_modules\/rc-.*/],
        },
      }),
  ]
}

参考地址:
https://github.com/sanyuan0704/vite-plugin-chunk-split/blob/master/README-CN.md

相关文章

  • android 8 差分包升级失败

    差分包制作过程:资源包 整包 差分包 资源包:\out\target\product\XXX\obj\PACKAG...

  • Android res 资源 分包

    提出背景 随着项目不断变大,layout等资源目录下可能会有上百个文件,查找效率低,strings.xml等key...

  • cocoscreator资源分包加载

    cocoscreator发布平台包含很多,QQ渠道要求比较严格些,主包最大支持4M,导致很多小游戏都需要做分包。 ...

  • 总工办一周工作小结(2018-11-3)

    1、汇总各部门对专业分包合同版本的修改意见 经营管理部提交了分包合同及附件的版本,综合管理部、工程管理部已...

  • 四、增量更新

    一、原理     1、服务端通过bsdiff工具根据新旧版本的apk生成差分包,然后将生成的差分包下发到客户端。差...

  • Android_增量更新(BSDiff)

    Android中的增量更新指的是利用差分算法,计算两个App版本的差异,生成差分包,只需要下载差分包,不需要下载整...

  • 静态资源管理

    小程序端 (使用2x图 图片压缩) 未分包:未分包前小程序的静态资源(例如icon)我们会存放在服务器中,直接调...

  • ClassLoader类加载机制与分包原理

    Multidex分包 热修复,插件技术。 apk文件目录结构: --manifest.xml--R 资源文件 d...

  • 如何开发案例教学的教学资源

    如何开发案例教学的教学资源 案例教学的教学资源包括教学案例部分的资源和教学过程中所需要的资源。教学案例部分包括案例...

  • 专业分包怎么定义?专业分包工程与专业承包工程的区别?

    在这个资源整合的时代,专业分包早已成为建筑市场的常态。技术层次上以专业分包为主,可专人专用、提高效率;但管理层面要...

网友评论

      本文标题:vite4.2版本资源分包

      本文链接:https://www.haomeiwen.com/subject/vbctujtx.html