前端同学,你们的 typescript 怎么运用在实际项目里的?

2019-02-22 18:14:21 +08:00
 firhome
最近公司有项目,也想上 typescript,但是公司主要项目都是基于 vue 的。
尤大大也说现阶段不适合在 vue 里使用( https://www.zhihu.com/question/310485097/answer/591869966)

所以我想问一下 各位前端同学 你们公司是怎么玩的?
5195 次点击
所在节点    程序员
12 条回复
piaoxue
2019-02-22 18:18:48 +08:00
不会
kakudesu
2019-02-22 18:21:11 +08:00
vue3 ?
Cbdy
2019-02-22 18:22:31 +08:00
tomoya92
2019-02-22 18:26:32 +08:00
angular
shidianxia
2019-02-22 18:27:08 +08:00
目前 vue-cli 3 中的项目模版对 typescript 支持已经比较好,配合 vue-class-component 和 vue-property-decorator 使用很棒棒哦。
noe132
2019-02-22 18:29:55 +08:00
我搭建的我司项目是 vue + typescript.
框架是 nuxt.js
boilerplate 参考 https://github.com/nuxt/nuxt.js/tree/dev/examples/typescript
通过添加 nuxt module 给 nuxt 添加 awesome-typescript-loader(ts-loader 有些小坑)转码 ts 文件
所有 vue 组件都拆成 template script style3 个文件,因为 vue 里直接写 ts 比较僵硬
使用 vue-property-decorator 写 class style 的组件。
vuex store 目前没有什么好的方案,所以目前 store 用的少。

目前所有代码都是 ts,足够满足需求。部分地方需要手动写.d.ts 扩展已有类型。需要对 typescript 比较熟悉
Ooooooooozil
2019-02-22 18:33:52 +08:00
angular
ArcherD
2019-02-22 18:35:21 +08:00
用 react。
LancerComet
2019-02-22 18:38:12 +08:00
在用自己轮的 ServiceContainer
https://github.com/LancerComet/Vert-Core
youngxhui
2019-02-22 22:06:20 +08:00
写 angular
beginor
2019-02-23 10:47:37 +08:00
angular +1
loudthunder
2019-02-23 10:48:58 +08:00
刚开始学的前端

因为一直写强类型的代码,所以到运行时才报错一直让我非常受不了。而且很多时候意味着有多少分支就要增加多少测试,特别是每条测试还要为各种类型考虑,这些事情本应该让编译器做了,转到我身上的话就非常难受了


好在目前做的项目是由我主导(以及我一个人写,也就是个光杆司令哈哈哈),所以现在的所有代码都迁到了 ts

react + typescript (本身支持就很好,MS 有自己的 starter kit 所以开始不困难)
redux + typescript (本身支持也很好)
自己的逻辑,基本的面象对象编程

后端的话 nodejs + typescript 也非常自然,和写强类型语言的体验差不多了

IDE 放在 vscode 里,vscode 对 ts 的支持也满足我现在的使用了

因为现在前端部分还比较菜,react redux 之类都还在学习中,ts 也没有学得很深,基本是一边翻文档,一边照着以前写后端的经验来写,所以类似.d.ts 给包自定义类型之类的事情还不太会。但是好处是,常用的包 npm 里都有对应的 type 了,这点让我省不少力气,也是决定用 node 的原因

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

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

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

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

© 2021 V2EX