大家好,我是农村程序员,独立开发者,行业观察员,前端之虎陈随易。
- 关注公众号:
陈随易
,获取最新文章推送 (很多内容只在公众号发布
) - 个人网站 1️⃣:https://chensuiyi.me
- 个人网站 2️⃣:https://me.yicode.tech
- 加入交流群,公众号或者个人网站联系我即可
我会在这里分享关于 编程技术
、独立开发
、行业资讯
,思考感悟
等内容。
所有文章都是古法手打,经过了深度思考和总结,不含 AI 添加剂,请放心食用,一起灵魂交流。
如果本文能给你提供启发或帮助,欢迎动动小手指,一键三连 (点赞
、评论
、转发
),给我一些支持和鼓励,谢谢。
这是 🔗 农村程序员管理项目代码的土办法的姊妹篇,本文分享自己使用 Vue3 的核心思想。
这是我的十年生涯,可以说是一个为了兴趣爱好,我行我素的狂想曲。
所以,在写代码这件事上来说,自然也是无视权威,无视规范,无视最佳实践,而是自成自己的一方小世界。
关于 Vue3 的使用方法论,我的思路不一定是对的,也不一定是错的,它只是最适合我自己状态的一种写法,仅供各位读者参考。
如果用几个字来总结一下,那么我的方法论跟上一篇文章的思路是一致的,那就是:大道至简
。
这就是我的思想核心,所有代码都分区域管理,分别为:
外部集
- 导入一些 npm 模块。内部集
- 项目本身的一些工具,方法等。组件集
- 项目内的 Vue 组件统一放到这里。引用集
- 组件和元素的引用统一管理。全局集
- 全局状态,方法的导入。数据集
- 所以数据都放这,类似vue2
的data
。方法集
- 所有方法都放这,类似vue2
的methods
。
这是比较常见的几个。
当然,如果是在组件中,那么还会涉及到:
属性集
- 接收传入的属性定义。事件集
- 所有触发事件都放在这。注入集
-provide
和inject
依赖注入的定义。
如果还有更多的类型呢,我也会进一步定义 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
的项目吗?你的 vue
、vue-router
、pinia
、vue-i18n
、sass
这些依赖去哪了?
这正是 yite-cli
的特别之处,这些依赖都不需要我们在每个项目中安装也能正常使用,还有更多实用功能,总而言之还是那四个字:大道至简
。
那么预知后事如何,请大家动动小手,关注一下,来个一键三连,也可以评论区分享一下你的见解,我们下回不见不散。