TypeScript 多场景设计方案及应用实践
⼦子⽬目录缺乏⽀支持 TS 体验不不同 我们希望引⼊入 TypeScript 原⽣生的体验 TS ├── src │ ├── app.ts │ ├── app.js │ ├── app.d.ts │ └── app.js.map 体验不不同 Egg 解决的是 BFF 场景,⽽而淘宝有不不少全栈场景 js/ts ⽬目录混合 TS 体验不不同 Egg 解决的是 BFF BFF 场景,⽽而淘宝有不不少全栈场景 class ⽤用法,⽆无法多继承 TS 杂糅的 app/ctx 合并机制 体验不不同 Egg 解决的是 BFF 场景,⽽而淘宝有不不少全栈场景 TS 第⼀一代设计 第⼀一代设计 TS 解决复杂度问题 尝试引⼊入 IoC 解决复杂业务的问题 TS 配置 很早就开始使⽤用 ioc 注⼊入的⽅方式,苦于 js ⼀一 直没有很好的实践产品。 α对象 β对象 Ω对象 IoC容器器 TS 解决体验问题 尝试让⽤用户体感⼀一致,不不再考虑写法 服务层写法⼀一致,体验⼀一致 TS 体验上的问题 1、写法上的不不⼀一致 - Class / Function 2、多实现上的不不⼀一致 - ⽆无法⽅方便便的继承 3、代码洁癖上的问题 - 编译⽬目录分离 TS 体验 为了了良好的使⽤用 IoC,我们将整个 Midway 修改为了了0 码力 | 95 页 | 8.28 MB | 1 年前3
TypeScript 4.0 使用手册
BookStack.CN 构建 JavaScript内置的 bind 函数进行更好的类型检查。 还有一些其它的类型推断改进以及模式引入 进来,如果你想了解更多,请参考PR。 改进元组类型和参数列表使用体验的重要性在于它允许我们为JavaScript中惯用的方法添加强类型验 证 - 例如对参数列表进行切片而后传递给其它函数。 这里至关重要的一点是我们可以使用元组类型作 为剩余参数类型。 例如,下面的函数使用元组类型作为剩余参数: 赖的依 赖,以此类推。 你的工程越大,你等待的时间就越长,在这之前你不能使用编辑器的诸如“跳转到定 义”等功能。 这就是为什么我们要提供一个新的编辑器模式,在语言服务被完全加载之前提供局部编辑体验。 这里 的主要想法是,编辑器可以运行一个轻量级的局部语言服务,它只关注编辑器当前打开的文件。 很难准确地形容能够获得多大的提升,但听说在Visual Studio Code项目中,以前需要等待_20秒 0的编辑器能够在当前文件上_立即_提供丰富的编辑体验,尽管后台 仍然在加载整个工程。 目前,唯一一个支持该模块的编辑器是Visual Studio Code,并且在Visual Studio Code 启动时的局部语义模式 TypeScript 4.0 - 406 - 本文档使用 书栈网 · BookStack.CN 构建 Insiders版本中还带来了一些体验上的优化。 我们发现该特性在用户体验和功能性上仍有优化空间,0 码力 | 683 页 | 6.27 MB | 1 年前3
Hello 算法 1.2.0 简体中文 TypeScript 版本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。 动画在 PDF 内的展示效果受限,可访问 www.hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支持与鼓励,让我有机会做这件富有趣味的事。 0.2 如何使用本书 Tip 为了获得最佳的阅读体验,建议你通读本节内容。 0.2.1 行文风格约定 ‧ 标题后标注 * 的是选读章节,内容相对困难。如果你的时间有限,可以先跳过。 ‧ 专业术语会使用黑体(纸质版和 PDF 版)或添加下划线(网 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 www.hello‑algo.com 8 0.2.4 在提问讨论中共同成长 在阅读本书时,请不要轻易跳过那些没学明白的知识点0 码力 | 383 页 | 18.49 MB | 10 月前3
Hello 算法 1.0.0b1 TypeScript 版书内的代码配有可一键运行的源文件,托管在 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的展示 效果有限,可前往 hello‑algo.com 网页版获得更好的阅读体验。 致谢 本书在开源社区的群策群力下逐步成长,感谢每一位撰稿人,是他们的无私奉献让这本书变得更好,他 们是(按照 GitHub 自动生成的顺序):krahets, justin‑tse, sjinzh 内容的正确性与质量,感谢前辈们的精彩创作! 感谢父母,你们一贯的支持与鼓励给了我自由度来做这些有趣的事。 0. 写在前面 hello‑algo.com 3 0.2. 如何使用本书 建议通读本节内容,以获取最佳阅读体验。 0.2.1. 算法学习路线 总体上看,我认为可将学习数据结构与算法的过程分为三个阶段。 1. 算法入门。熟悉各种数据结构的特点、用法,学习各种算法的原理、流程、用途、效率等。 2. 刷算法题。可以先从热门题单开刷,推荐剑指0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.1.0 TypeScript版本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。 动画在 PDF 内的展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支持与鼓励,让我有机会做这件富有趣味的事。 0.2 如何使用本书 Tip 为了获得最佳的阅读体验,建议你通读本节内容。 0.2.1 行文风格约定 ‧ 标题后标注 * 的是选读章节,内容相对困难。如果你的时间有限,可以先跳过。 ‧ 专业术语会使用黑体(纸质版和 PDF 版)或添加下划线(网 Python 代码的可视化运行(基于 pythontutor 实现)。如图 0‑6 所示,你 可以点击代码块下方的“可视化运行”来展开视图,观察算法代码的执行过程;也可以点击“全屏观看”,以 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长 在阅读本书时,请不要轻易跳过那些没学明白的知识点。欢迎在评论区提出你的问题,我和小伙伴们将竭诚0 码力 | 383 页 | 18.49 MB | 1 年前3
Hello 算法 1.0.0b5 TypeScript 版本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 动手学深度学习》的启发。在此向各位读者强烈推荐这本 优秀著作。 衷心感谢我的父母,正是你们一直以来的支持与鼓励,让我有机会做这件富有趣味的事。 0.2 如何使用本书 � 为了获得最佳的阅读体验,建议您通读本节内容。 第 0 章 前言 hello‑algo.com 4 0.2.1 行文风格约定 ‧ 标题后标注 * 的是选读章节,内容相对困难。如果你的时间有限,建议可以先跳过。 ‧0 码力 | 378 页 | 30.70 MB | 1 年前3
TypeScript Handbook(中文版)
TypeScript 2.4 TypeScript 2.4围绕着泛型的推断方式引入了一些很棒的改变。 返回类型作为推断目标 其一,TypeScript能够推断调用的返回值类型。 这可以优化你的体验和方便捕获错 误。 如下所示: function arrayMap(f: (x: T) => U): (a: T[]) => U[] { return a => a.map(f); 0 码力 | 557 页 | 7.48 MB | 1 年前3
共 7 条
- 1













