vue官网的源码,结合实现代价,定下了实现思路

文章主要介绍了以下内容:

需要

改官网为开源项目,包括以下功能:

它是什么?

它是一个开源的Go语言流媒体服务器开发框架。 如下所示:

用户界面设计

UI方面,团队中的设计朋友正在帮忙设计官网PC首页,其他功能如文档教程页面、移动端适配等都是我们自己开发实现的。

设计稿如下图所示:

主要设计内容如下:

期间我们和设计师保持着沟通。 首页UI的设计是一个不断沟通和调整的过程。

自适应解决方案

针对 PC 的自适应解决方案不止一种。 浏览了一些主流官网,最终的适配方案如下:

请问一个问题,为什么大多数PC页面不使用rem?

实施思路

实施思路体现了平衡的哲学。

这里有一个初步的考虑,就是实施的成本。 主要费用如下:

兼职维护开源项目既可以是免费的,也可以是不免费的。 缺乏自由主要体现在时间和精力的投入有限,所以综合考虑后,选择低成本的方案。

后来我特意浏览了一些KTV网站。 综合比较后,感觉Vue官网总体不错。 然后看了vue官网源码,结合实现成本,确定了实现思路:

技术选型

实现思路确定后,整体的技术选型也就确定了,如下:

技术选型=pnpm+turbo+vue3+ts+vite++服务器(node|go)+

服务器端,以上选择与vue官网一致(总体原因)。 下面我简单介绍一下各项技术选型的理由:

PNPM+涡轮

当前生态百花齐放,正确的实践方法应该是整合最好的方法,即取各家公司的长处。 目前的趋势也是如此。 每个开源工具都达成默契,专注于自己的能力。

例如,pnpm 擅长依赖管理,turbo 擅长构建任务编排。 所以在技术选型上,我选择了pnpm和turbo。

pnpm原因如下:

对比vue官网,我是在使用pnpm的时候添加的。

涡轮增压的原因如下:

vue3+ts

vue3的原因如下:

原因如下:

维特

大家都不再陌生了。

原因如下:

原因如下:

设计理念我很认同,目前官网主题的实现方案是:

fork @vue/theme 源码并使用pnpm进行管理和二次开发,然后慢慢演化成自己的主题。

KTV网站: /

服务器节点| 去

节点原因如下:

去的原因如下

这里我使用提供的API,方便快捷。

技术选型总结

至此,技术选型已经介绍完毕。 上述技术选型既有主流成熟度,也有前沿趋势。 总的来说,这是一个很好的解决方案。

目前施工工艺和技术选型的趋势是什么?

笔者认为,当前的前端构建工具链正在快速被Rust和Go接管。 比如swc、vite、turbo,速度惊人。 这也对前端工程师提出了更高的要求,鼓励我们永无休止地学习。

技术选型确定并开发维护一段时间后,技术选型还可以调整吗?

当然可以,有信心把“?”这个词去掉。

在建筑设计中,有一个原则叫做进化原则。 进化胜于一步。 好的软件会不断发展。 这符合人类的演化、地球的演化、宇宙的演化。 自然法则,最简单。

说到架构,下面我就介绍一下官网的技术架构。 请和我一起阅读。

技术架构三原则

建筑设计有三个重要原则:

也就是说,在做架构设计的时候,必须有意识地让架构符合这三个原则。 这将确保你的架构设计至少在大方向上是正确的。

通用软件架构

以下是4种常用的软件架构:

分层架构是最常用的软件架构。 感觉有点递归。 首先分为大层,每个大层又可以分为更小的层。 另外,插件架构也很常用。 在前端层面,一般采用分层架构和插件架构。

俗话说:麻雀虽小,五脏俱全。 虽然开发一个KTV网站很容易,但你仍然可以有优秀的架构思想。 下面介绍一下我的官网架构设计。

官网结构

官网的软件架构图如下:

采用分层架构设计,具体如下:

上面的架构图并不一定完全满足分层架构。 这并不重要。 重要的是它符合架构的设计原则。 这里有一个简单的解释:

技术架构总结

上述常用的软件架构并不是独立存在的。 它们可能交叉并共存。 这些软件架构本身遵循适当性、简单性和演进性的原则。 我们要做的就是在软件生命周期中利用架构设计,让软件发挥出更大的价值,承载更多的使命。

构建部署构建

核心是使用pnpm+turbo来构建,大致介绍如下:

施工流程如下:

您可以在图中看到构建时间。 所需时间非常短,并且构建速度非常快。

具体使用方法请参考KTV文档和开源案例。

部署

核心是:用它来自动化构建和部署。

关于使用,大家可以自行搜索。 这里我解释一下部署过程,如下:

将官网代码提交到仓库并使用登录。 绑定项目设置域名。 绑定官网域名并填写构建配置。 这里我把官网当前的构建配置贴在网站上,如下图:

只需要设置一下即可,其余不变。 5. 保存构建配置,然后构建、部署并发布到外界。 6.只要将代码提交到后续官网,就会自动触发构建和部署。

部署矿坑:

官网使用的是pnpm和turbo。 使用它进行构建和部署时,遇到了本地成功成功,但是构建失败的问题。 具体原因是不祥的。 官网文档内容非常简单,并没有看到什么关于issue和的有用信息。 最后,我在上找到了一个关于构建和部署pnpm + Turbo +的视频。 看完视频并结合自己的理解,我就走完了这个过程。

预览和源代码

预览:直接访问官网m7s.live/,与上面设计图基本一致。

源码地址://webs...

源码目录如下图:

如有需要,您可以自行下载查看。 这里不再介绍源码内容。

附开源实践总结

© 版权声明
评论 抢沙发
加载中~
每日一言
不怕万人阻挡,只怕自己投降
Not afraid of people blocking, I'm afraid their surrender