vite3、vue 项目打包分包进阶-组件分包

这篇具有很好参考价值的文章主要介绍了vite3、vue 项目打包分包进阶-组件分包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

在上次的分包实战后,我在服务器上测试了分包后的项目效果很好,但是还不够理想,因为在我的Login页面我使用的动态组件,其中包含注册组件register、忘记密码组件renew,我们知道vite的打包机制是由各个分入口汇总到一个总文件,那么我们该怎么做呢?

回顾往期

vite打包实战,在这篇文章里我们学习了创建自定义用户片段,就是在分包,那么片段的创建规则呢就是依赖rollupOptions.output.manualChunks的自定义用户片段,通过返回规则来告诉该函数依靠什么区分片段,从而创建片段;

实战演练

在没有分包前,通过几张截图我们一起来关注下效率情况;

vite3、vue 项目打包分包进阶-组件分包

上面这幅图,首先为了更好的调试,停用缓存,其次我的组件区块被默认打包成了一个Login.js,加载时长4秒,页面正常运转得到10时间才行;那我们就来根据需求来配置函数,首先manualChunks的参数id是一个文件的目录,所以需要先从结构上寻找细节:

vite3、vue 项目打包分包进阶-组件分包

上图可以看出,我的三个组件放在了这样一个结构了,那么我们就需要传递分离规则,从此处分离,代码如下:

manualChunks(id) { //静态资源分拆打包
  if (id.includes('element-plus') || id.includes('bootstrap')) {
      return; //不打入这俩个文件相关的东西
  }
  if(id.includes('Login/')){ //利用文件目录判断
    console.log(id.toString().split('Login/')[1].split('.')[0].toString());
    return id.toString().split('Login/')[1].split('.')[0].toString();
  }
  if (id.includes('node_modules')) {
    return id.toString().split('node_modules/')[1].split('/')[0].toString();
  }
}

我们看下log函数的结果:

vite3、vue 项目打包分包进阶-组件分包

这就是我们拆出来的规则,manualChunks会把这几个返回值单独形成文件,如下图

vite3、vue 项目打包分包进阶-组件分包

分离出来的这几个文件,就会在加载时同时刻加载,分离了单文件加载的压力,同理你复杂的区块都可以用此方法来化解,最后我们部署测验:

vite3、vue 项目打包分包进阶-组件分包

这里依旧是停用缓存,可以看到我们的文件在同时刻加载;我们的需求达到,并且页面功能在7秒时已经加载完毕,但问题是最终完成加载时间居然变成了29s(蓝色问号),这里我暂时没有找到问题,希望指教。

最后

📚 vite专栏

☃️ 个人简介:一个喜爱技术的人。

🌞 励志格言: 脚踏实地,虚心学习。

❗如果文章还可以,记得用你可爱的小手点赞👍关注✅,我会在第一时间回关、回访,欢迎进一步交流。文章来源地址https://www.toymoban.com/news/detail-422849.html

到了这里,关于vite3、vue 项目打包分包进阶-组件分包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vite打包vue组件库

    前言 本文讲的不是一步步搭建项目,然后如何规划好项目结构,文件夹命名等等,而是从一个整体中剥离出组件库。 首先我们的项目不是一开始就规划好了之后如何打包,都是一步步趟坑趟过来的,所以一开始的时候,我们是直接clone vue3的模板,然后就开搞了,中间我们还

    2024年02月08日
    浏览(49)
  • 从0搭建Vue3组件库(五): 如何使用Vite打包组件库

    本篇文章将介绍如何使用 vite 打包我们的组件库,同时告诉大家如何使用插件让打包后的文件自动生成声明文件(*.d.ts) 打包配置 vite 专门提供了库模式的打包方式,配置其实非常简单,首先全局安装 vite 以及@vitejs/plugin-vue pnpm add vite @vitejs/plugin-vue -D -w 在 components 文件下新建vite.

    2024年01月24日
    浏览(52)
  • docker打包vue vite前端项目

    (如若提供一些帮助,请帮忙点个赞) 1.打包时将测试删除 2.修改配置 3.打包项目 npm run build 显示成功(黄的也不知道是啥) 打包好的前端文件放入 4.配置 default.conf 5.配置dockerfile 6.进入你的文件夹下面 我的是 /root/206/web docker build -t web:v1 . 注意后面的 . 点 7.运行 docker run -it -

    2024年02月07日
    浏览(34)
  • vue3 + vite 多项目多模块打包

    vue3 + vite 多项目多模块打包 本示例基于 vite-plugin-html 插件,实现多个独立项目共存,共享组件和依赖,运行、打包互不干扰。 兼容性注意 Vite 需要 Node.js 14.18+、16+版本,有些模板需要更高的版本 虽然创建项目用的14.17.5版本,但是后面运行项目用的18.15.0 HTML模板插件 打包一

    2024年02月10日
    浏览(69)
  • 记vite打包vue项目内存溢出问题解决

    出现问题 解决方法一: 1.根据网上的资料是通过全局下载npm包increase-memory-limit: 2.在项目目录执行命令: 3. 如果报错就搜索node_modules目录下的.bin目录中的 “%_prog%” 替换为 %_prog% 解决方法二(我的解决方法): 1.全局安装cross-env 2.在package.json的scripts中的build执行命令中增加

    2024年02月12日
    浏览(36)
  • vite打包vue3项目白屏报错

    资源路劲问题 修改:vite.config.ts 原因是需要服务器进行静态资源访问,否则会因为跨域而报错 : Access to script at \\\'file:///F:/Progremes/Vue3/yanxuan_vue3_m_h5/dist/assets/index-49de958d.js\\\' from origin \\\'null\\\' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated

    2024年02月16日
    浏览(57)
  • vite vue3项目打包,跳过ts检查

    遇到这个问题是因为vue文件中script标签没有写lang造成的  剩下的ts类型检查错误  \\\"build\\\": \\\"vue-tsc --noEmit --skipLibCheck vite build\\\",是因为这个vue-tsc打包对ts进行了类型检查,需要全部解决了才行,可以关闭,直接改成\\\"build\\\": \\\"vite build\\\",

    2024年02月16日
    浏览(60)
  • 快速搭建Electron+Vite3+Vue3+TypeScript5脚手架 (无需梯子,快速安装Electron)

    Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发经验(这段话是来自官网)。 根据vite官网文档 项目创建完成后进

    2024年02月02日
    浏览(103)
  • vite vue3项目打包部署空白页面问题的处理

     问题:vite vue3项目打包部署上线后,发现是空白页面问题的处理 解决方法:1.在我们vite.config.js文件中检查是否有路径的指向                                       2.查看我们的路由模式,将路由模式修改为createWebHashHistory                           

    2024年02月11日
    浏览(60)
  • Vite打包Vue3项目,利用宝塔部署到服务器

    按照如图的配置,将vite.config.js的 base 改为  /dist/ 然后npm run build 就会得到左边的这个dist文件夹,这就是打包好的文件 创建项目以及项目配置 我在服务器安装的php是5.6版本的,其他版本可以自己试一下 解决刷新404问题 上传成功之后,文件目录结构是这样的 (顺序不一定要

    2024年04月13日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包