Skip to content

大家好,我是农村程序员,独立开发者,行业观察员,前端之虎陈随易。

  • 关注公众号:陈随易,获取最新文章推送 (很多内容只在公众号发布)
  • 个人网站 1️⃣:https://chensuiyi.me
  • 个人网站 2️⃣:https://me.yicode.tech
  • 加入交流群,公众号或者个人网站联系我即可

我会在这里分享关于 编程技术独立开发行业资讯思考感悟 等内容。

所有文章都是古法手打,经过了深度思考和总结,不含 AI 添加剂,请放心食用,一起灵魂交流。

如果本文能给你提供启发或帮助,欢迎动动小手指,一键三连 (点赞评论转发),给我一些支持和鼓励,谢谢。


这是 🔗 农村程序员管理项目代码的土办法的姊妹篇,本文分享自己使用 Vue3 的核心思想。

这是我的十年生涯,可以说是一个为了兴趣爱好,我行我素的狂想曲。

所以,在写代码这件事上来说,自然也是无视权威,无视规范,无视最佳实践,而是自成自己的一方小世界。

关于 Vue3 的使用方法论,我的思路不一定是对的,也不一定是错的,它只是最适合我自己状态的一种写法,仅供各位读者参考。

如果用几个字来总结一下,那么我的方法论跟上一篇文章的思路是一致的,那就是:大道至简

这就是我的思想核心,所有代码都分区域管理,分别为:

  • 外部集 - 导入一些 npm 模块。
  • 内部集 - 项目本身的一些工具,方法等。
  • 组件集 - 项目内的 Vue 组件统一放到这里。
  • 引用集 - 组件和元素的引用统一管理。
  • 全局集 - 全局状态,方法的导入。
  • 数据集 - 所以数据都放这,类似 vue2data
  • 方法集 - 所有方法都放这,类似 vue2methods

这是比较常见的几个。

当然,如果是在组件中,那么还会涉及到:

  • 属性集 - 接收传入的属性定义。
  • 事件集 - 所有触发事件都放在这。
  • 注入集 - provideinject 依赖注入的定义。

如果还有更多的类型呢,我也会进一步定义 XX集 来进行分类和管理。

可以看到,每个集合区域的命名,都是 3 个字,充分体现了程序员的严谨和完美。

另外,有些人问,为什么要用美元符?难道是学的 PHP 吗?哎,我还真是写 PHP 出道的,但这个美元符,不是为了学 PHP 而设计的,而是基于思考的结果。

很简单,用反证法来设想一下,如果没有美元符,你会发现,这几个集合变量,跟其他变量没什么视觉上的区别。

这样呢,就容易造成视觉疲劳,美元符的主要作用就是在视觉上面,与普通变量形成一个较大的差异,让我们一眼就能看清楚代码的位置和作用。

还有人问,你这么写,还不如直接用 Vue3 的 Options 写法,跟 Vue2 一模一样。

此言差矣,我的目的不是为了用 Vue3 去模仿 Vue2,而是在寻找一种最高效,最简单,最实用的写法,这是一种融合了 Vue2 的方便与 Vue3 的优雅的综合之道。

为了这个写法,我放弃了 hooks 这个 Vue3 的大杀器,只在 pinia 的全局存储里面用了一次 useGlobal

hooks 呢,确实是一个好东西,但是对于我这种只写小项目,不写大项目的来说,有一种杀鸡焉用牛刀的感觉。

就好像是后端项目的 单机部署Docker部署 一样的感觉,我自己项目本身就很简单,直接单机部署方便快捷,用 Docker 反而是多此一举。

所以可以看到,我的很多选择:

  • 不用 TypeScript。
  • 只写 Vue。
  • 只用 Node.js。
  • 不用 Docker。
  • 不用 Eslint。

等等,是真正的明白了自己需要什么,真正地选择出了合适自己的,而不是别人用我也要用这么一种没有自己的思考,随波逐流的状态。

这就是我的 Vue3 用法,下一篇呢,我将会分享我是如何构建和编译 Vu3 项目的,这里我没有用到官方的脚手架,而是自己基于 vite 进一步封装的 yite-cli

yite-cli 有什么特别的呢?请看上图,这是我的后台管理项目的依赖文件。

这个 dependencies 就是我项目的全部依赖,没有其他依赖了。

那你不禁要问,你不是 Vue3 的项目吗?你的 vuevue-routerpiniavue-i18nsass 这些依赖去哪了?

这正是 yite-cli 的特别之处,这些依赖都不需要我们在每个项目中安装也能正常使用,还有更多实用功能,总而言之还是那四个字:大道至简

那么预知后事如何,请大家动动小手,关注一下,来个一键三连,也可以评论区分享一下你的见解,我们下回不见不散。

何以解忧,唯有代码。不忘初心,方得始终。