玩转 Vue 3 全家桶
大圣
前百度前端架构师
38321 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 44 讲
玩转 Vue 3 全家桶
15
15
1.0x
00:00/00:00
登录|注册

19 | 实战痛点5:如何打包发布你的Vue 3应用?

思考题
总结
GitHub Actions自动化部署
项目上线后的自动化部署
项目上线前的自动化部署
代码部署难点
前端部署流程

该思维导图由 AI 生成,仅供参考

你好,我是大圣。
在实战痛点 4 这一讲中,我们一起学习了 Vue 3 项目的性能优化策略。今天,我们来聊一下项目上线前的最后一步,就是如何把开发好的代码部署到线上。
对于这个问题,你可能脱口而出:“使用npm run build就好了呀”。这样做只是在本地把代码打包,如果想要在线上也可以访问这些代码,那么还需要加上部署的过程。所以在下面,我先给你介绍一下当前这个时代的前端代码在部署的时候,有哪些难点和问题需要处理。

代码部署难点

在 jQuery 时代之前,前端项目中所有的内容都是一些简单的静态资源。那个时候,网站还没有部署的概念,网站上线前,我们直接把开发完的项目打包发给运维,再由运维把代码直接上传到服务器的网站根目录下解压缩,这样就完成了项目的部署。
后来的 jQuery 时代,项目的入口页面被后端管理,模板部署到了后端,CSS、JavaScript 和图片等静态资源依然是打包到后端之后,再解压处理。但现在,我们对前端的性能和稳定性的要求也越来越高,jQuery 时代的那种简单的部署模式就不足以应对性能优化、持续部署等一系列的情境。
现在前端所处的时代,我们主要会面临后面这些代码部署难点:首先是,如何高效地利用项目中的文件缓存;然后是,如何能够让整个项目的上线部署过程自动化,尽可能避免人力的介入,从而提高上线的稳定性;最后,项目上线之后,如果发现有重大 Bug,我们就要考虑如何尽快回滚代码。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了Vue 3应用的打包发布流程及相关技术挑战,并提供了解决方案,对于前端开发者具有一定的参考价值。文章从代码部署难点、项目上线前的自动化部署以及项目上线后的自动化部署三个方面进行了详细介绍。在现代前端面临诸多挑战的背景下,业界提出了一些解决方案,如使用Docker保证环境一致性、GitHub Actions实现自动化构建触发等。此外,还介绍了预发布环境的概念以及静态资源的版本管理机制。通过配置GitHub Actions实现了自动化打包,并介绍了通过SSH密钥实现免登录直接部署的方法。总之,本文详细介绍了前端部署的难点和解决方案,为读者提供了全面的技术指导,帮助他们更好地理解和应对现代前端开发中的挑战。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《玩转 Vue 3 全家桶》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(28)

  • 最新
  • 精选
  • 海贼刺客
    自动化部署在哪可以学

    作者回复: 我最近赶稿子,赶完稿子我会录视频演示每一步的操作,最终实现github actions的自动化部署 , 我自己的个人项目也是用的这个方式来实现,感兴趣可以先看下这里actions配置 https://github.com/shengxinjing/it-roadmap/tree/main/.github/workflows

    2021-12-06
    5
  • 🍁
    老师,像actions这种部署,是不是只能用于个人项目。比如公司用gitlib还能用actions这种么

    作者回复: action是github自带的,gitlab有自己系统内类似的机制,还可以对接jenkins

    2021-12-26
    4
    2
  • 哎哟迪奥
    搞个部署平台,一键部署,还能监控,比如jekins持续集成。

    作者回复: 课程设计里主要会使用actions来做

    2021-12-01
    1
  • 搁浅
    大圣老师我只想说后面有没有nuxt.ha部署 因为这个好多坑呀!

    作者回复: 课程里暂时没设计nuxt的内容哈

    2021-12-13
  • Geek_bb9113
    项目部署的我自己是学习公司的,走的是阿里云的云效自动化部署,每次都是一键发布,感觉还是挺好的。

    作者回复: 基于github actions自己也可以试试

    2021-12-11
  • 一块小砖头
    处理缓存 讲到了么?

    作者回复: npm run build之后打包的内容,每个文件名的hash值就是用来处理缓存的,确保代码修改之后的文件名会修改

    2021-12-10
    2
  • Danny
    这一讲是视频操作演示就好了

    作者回复: 这个赶完稿子我会录制的,使用actions配置去自动化部署

    2021-12-04
  • 于良骥
    大圣老师,vite打包之后生产环境报错应该怎么调试呢?

    作者回复: 新增一个scripts : "build:dev": "vue-tsc --noEmit && vite build --mode=development", 这样就可以打包出一个可以用devtools的版本用来调试

    2021-12-03
    2
  • 醉月
    又一节可以展开的课

    作者回复: 后面会直接用视频发布,这一讲确实文字不好表达

    2021-12-01
  • james
    Vite 工程,生产环境打包耗时有点久(7~8分钟),老师有什么优化方案建议的吗?

    作者回复: 其实最简单的方式就是打包也用esbuild,不过打包时间其实并不是核心痛点,不会影响研发效率

    2021-12-01
收起评论
显示
设置
留言
28
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部