后端不讲武德--前端的DTO
这篇是在什么情境下写的?出来工作的第五个年头,大公司、小公司都呆过,各种东西都在变,维度是后端的 API 永恒不变 ———— 一直都很随便。每逢有一点风吹草动(项目需求变动大),你都得重新修改被引用接口部分的代码,如果碰上了一个文件上千行代码就真的很头疼(加油)。如果还碰上 解构+别名 就更痛苦了。
我每每遇上这些问题,我都会想去写下这篇文章,但每次下笔前我都会想:会不会是我太菜了,明明改个代码就好了,是自己的阅读代码能力太弱了。但自从我的道德素质下降了之后,这 TMD 都是后端的问题,不接受任何反驳!
我最新的理解是:前后端的联动基本都在 API 的层次上,其实我们不应该太过关注后端返回的数据模型的 类型、结构 。(前提是满足当前业务需求),而前端应该以 AOP(类似 graphQL) 的方式去处理它,在其它相关的业务代码里不应关心它,或者说不值得为了这接口写一大堆辅助方法去尝试调整成所需要的模型结构。这些统统都在 DTO 文件里实现,这让业务代码变得清爽不少。
以前学过 Java 和 Spring ,里面的 Java Bean + 注解 可以提高生产力,然后还有 DTO 的概念,正
2023-05-13
DTO 前后端交互
vue和TS融合的那些事,vue2到vue3的过渡
序言Vue2 的项目写了几年,基本都是使用 js 的方式去书写。我发现随着项目的壮大这其中会有很多问题影响着项目的后续开发和维护,比如:文件的跳转文件(组件间)的关系难以一次性的理清,尤其是新人进入的项目,如果通过当前的代码在一个庞大的项目里去翻找特定的文件,想必是很痛苦的(查找引用关系,还有概率遇到重名的文件需要自行辨别),但由于现在的 sfc 文件和 VSCode 的 vetur 插件并不是很完美做到文件跳转。如果此时能做到一键跳转,岂不是减少不必要的查找时间,又能理清楚文件(组件)间的关系,减少许多心智成本。
类型提示虽然现在 Vetur 和 Volar 这两款 VSCode 插件已经能做到简单的 props 和 event 的提示(这需要一定的前提,比如:jsconfig 或 tsconfig 做好路径别名的配置),但是遇到 attributes 和 event 的透传还是有心无力的。提示依然会有不准确的情况。(即:any)
最后,我发现使用 TS 的方式去编写项目可以完美的避免以上的问题。到现在 2023 年,vue2、3 都已经完全支持 TS,类型提示妥妥的没问题,然后 V
2023-04-05
vue ts