首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Vite+Vue3开发配置-依赖分包策略

在没有配置构建工具的分包功能时,构建出来的文件将无比巨大且是独立的一个 js 和 css 文件(如下图),这样本地加载文件时会存在巨大的压力。

默认情况下,浏览器重复请求相同名称的静态资源时,会直接使用缓存的资源。利用这个机制,我们可以将不经常更新的代码单独打包成一个 JS 文件,这样就可以减少 HTTP 请求,同时降低服务器压力。

Vite 官方文档 -> 构建选项 -> build.rollupOptions中这样描述:自定义底层的 Rollup打包配置。这与从 Rollup 配置文件导出的选项相同,并将与 Vite 的内部 Rollup 选项合并。查看 Rollup 选项文档获取更多细节。也就是说 Vite 底层已经集成了 Rollup 的一部分功能,我们直接配置即可。

我这里的 Rollup 相关配置如下(仅供参考):

配置好你的build.output参数,执行命令我们就可以看目录结构了。

output.manualChunks 创建自定义的公共 chunk

当值为对象形式时,每个属性代表一个 chunk,其中包含列出的模块及其所有依赖。chunk 的名称由对象属性的键决定。

当该选项值为函数形式时,每个被解析的模块都会经过该函数处理。如果函数返回字符串,那么该模块及其所有依赖将被添加到以返回字符串命名的自定义 chunk 中。

以下例子,创建一个命名为  的 chunk,它包含所有在  中的依赖

以下例子,将静态资源分拆打包:将 node_modules 中的代码单独打包成一个 JS 文件

2 output.chunkFileNames 对代码分割中产生的 chunk 自定义命名

值是一个匹配模式,或值是一个函数,对每个 chunk 调用以返回匹配模式。

这种模式支持以下的占位符:

:输出(output)选项中定义的格式(format),例如  或 。

:仅基于最终生成的 chunk 内容的哈希值,其中包括  中的转换部分和其依赖文件哈希值。你也可以通过例如  设置一个特定的哈希值长度。

:chunk 的名称。它可以通过  选项显示的设置,或者通过插件调用  设置。否则,它将会根据 chunk 的内容确定。

3 output.entryFileNames 指定 chunks 的入口文件模式、

值是一个匹配模式,或值是一个函数,对每个 chunk 调用以返回匹配模式。

这种模式支持以下的占位符:

:输出(output)选项中定义的格式(format),例如  或 。

:仅基于最终生成的入口 chunk 内容的哈希值,其中包括  中的转换部分和其依赖文件哈希值。你也可以通过例如  设置一个特定的哈希值长度。

:入口文件的文件名(不包含扩展名),除非当入口文件为对象时,才用来定义不同的名称。

4 output.assetFileNames 用于自定义构建结果中的静态资源名称

值是一个匹配模式,或值为一个函数,对每个资源调用以返回匹配模式。

这种模式支持以下的占位符:

:包含点的静态资源文件扩展名,例如

:不包含点的文件扩展名,例如

:基于静态资源内容的哈希。也可以通过例如  设置一个特定的哈希值长度

:静态资源的名称,不包含扩展名

正斜杠  可以用来划分文件到子目录。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230520A07BE200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券