有关 TypeScript 思想和 Vue3 的正确使用方式

2022-06-13 20:00:35 +08:00
 Richard14

这几天新项目用 vue3 写已经大概搞出雏形了。单说使用层面的体验上,setup 确实是个好用的东西。虽然代码里需要多写一写 ref 之类的标记,但直接根据闭包级别调度所有数据和代码,确实比 vue2 的分体式体验好上不少,再加上实际代码里需要展示的变量不是全部,而中间变量既不需要写 ref 又能享受闭包的好处,属实是方便了不少。

配置方面,个人感觉上 vite 比起 2 时代 vue-cli 的配置是更清晰了些,我曾因不熟悉 webpack ,而 cli 的文档又多有语焉不详之处而受折磨,这次配置没有出现类似情况。

只能说,曾经看到网上有人说 vue3 是非常失败的作品,在社区也不被认可,现在看来这是屁话了,也许是有利益相关才会说出这种评价。

不过话又说回来,最近几天的写作过程中,虽然创建的是 ts 项目,但是感觉自己还是在写 js ,没有任何区别。至多算是把原先 js 参数无法设置默认值这种问题修正,让它看起来更像现代语言了一些这样。类型标注方面也没有标的那么细,如果仅是出于方便后续开发维护代码的角度出发,其实也只在关键位置定义了类型,并没有体验到什么太大的变化。

由于原生 js 还是面型过程氛围较浓的语言,虽然在看 ts 说明书过程中它允许使用对象和接口,但是开发过程中实在搞不太清楚什么环境下需要使用,值得使用,毕竟面向过程已经能解决问题。感觉上就是原先希望通过一个项目学习并了解 ts ,但是写完后发现完全没有收获,还是像原来一样我行我素?

4558 次点击
所在节点    Vue.js
32 条回复
bootvue
2022-06-14 09:16:23 +08:00
ts 在多人协作场景下优势比较明显
sky857412
2022-06-14 09:29:20 +08:00
volar 插件不好用,自动导包提示没有,也可能我用的姿势不对
moreant
2022-06-14 09:35:17 +08:00
js 转 ts ,对象里点不出来属性就开始慌了,会检查是不是写错了或者拼错了
irisdev
2022-06-14 11:46:37 +08:00
vue3 有什么好用的组件库吗
xujiahui
2022-06-14 13:39:20 +08:00
@irisdev #24 已经好多组件库了,我用的 naive-ui 感觉还行
apeople
2022-06-14 15:15:39 +08:00
反正我 vue2 升到 vue3 开发体验提升巨大
agileago
2022-06-14 15:28:16 +08:00
@wunonglin 来用 vue3-oop https://github.com/agileago/vue3-oop ts 支持完美,即享受到 tsx 的便利又有响应式自动精准更新,再加上自动化的依赖注入(类似 ng,但简化)处理全局状态,无需再去寻找各种库,更深的是,假如你有 nestjs 的架构经验,同样可以用在前端,使整个项目结构更清晰易懂, 装饰器真是个好东西

<script src="https://gist.github.com/agileago/211f80caa8bb7721e24943777d602dad.js"></script>
agileago
2022-06-14 15:33:43 +08:00
不得不说,vue3 对面向对象的支持太棒了
iikebug
2022-06-14 16:19:03 +08:00
@makelove solid 生态太差了,基本上啥都要自己造轮子
wunonglin
2022-06-14 16:56:37 +08:00
@agileago #27 其实我用 vue2+ts 也能较为接受。但是一旦和别人共事的 vue 项目,代码质量简直难以想象(我没权利管人家业管不来),所以还是有 ng 这样的框架来约束比较好。除非团队里全是大佬,个个代码质量都是开源水平。

本来 vue 就是上手快,门槛低,导致新人暴增,也不是个个人心里都有“最佳实践”,写出的东西像团屎一样,恶心至极。

上面观点是我做了那么多年接触的项目里总结的。
connection
2022-06-14 20:26:29 +08:00
我是 React + TS 转 vue3 + TS 。
TS 在 vue3 中使用感觉「有的时候」还是像自我安慰..
但 composition api 使用感比 React hook 。但是 ref 在 composition 上还是挺麻烦,MaybeRef 见惯不怪。
感觉 大多数人都不应该浪费时间在「挑选框架」。
合适的场景选择合适的东西更重要。
jones2000
2022-06-15 01:03:29 +08:00
只喜欢用 js 写, 其他的都不太好, 约束太多了, 不能天马行空的写,放飞自我的写代码。
任何框架都不能解决写烂代码的问题, 只要是一个人都会写烂代码, 你可以自己回看下自己 N 年前的代码,也是烂的一塌糊涂。 大家都是从烂代码里爬出来的。这个是成长的过程。
太多 js 的框架,是加快了开发速度,但在我看来其实降低了个人的开发能力,都被限死在框架里面了,其实 js 是没有框架,就是一个开放的东西,搞那么多条条框框的干什么呢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/859363

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX