Libraries such as RxJS use generics heavily in their definition files to describe how types flow through different interfaces and function calls. We can provide our own type information when we create Observables to enable all of the auto-complete &…
Decorators are a feature of TypeScript that are becoming more and more common in many major libraries. This lesson walks you through what decorators are and how to create your own. Nomarl way to decorate a object : const Person = {name: 'John'}; func…
Get a better understanding of the RxJS Observable by implementing one that's similar from the ground up. class SafeObserver { constructor(destination) { this.destination = destination; } next(value) { const destination = this.destination; if (destina…
前言 2015 年末看过一篇文章<ES2015 & babel 实战:开发 npm 模块>,那时刚接触 ES6 不久,发觉新的 ES6 语法大大简化了 JavaScript 程序的表达方式,比如箭头函数.class.async/await.Proxy等新特性,从此写 JavaScript 更成了一种享受.但是在近一年半的实践中,发现多人维护一个大型项目时,除了使用 ES6 新特性更简单地实现功能之外,另一个重要的事情是如何保证程序的健壮性和可维护性,在这点上,完全无类型检查.表达方式极…
Observer Pattern 观察者模式定义 观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己. 我们可以使用日常生活中,期刊订阅的例子来形象地解释一下上面的概念.期刊订阅包含两个主要的角色:期刊出版方和订阅者,他们之间的关系如下: 期刊出版方 - 负责期刊的出版和发行工作 订阅者 - 只需执行订阅操作,新版的期刊发布后,就会主动收…
原文: https://www.sitepoint.com/10-essential-typescript-tips-tricks-angular/ -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------…
[引言] 当前世界中,技术发展非常迅速并且变化迅速,开发者需要更多的开发工具来解决不同的问题.本文就对于当下主流的前端开发技术React.Vue.Angular这三个框架做个相对详尽的探究,目的是为了解开这些前端技术的面纱,看看各自的庐山真面目. [React] React(也被称为React.js或ReactJS)是一个用于构建用户界面的JavaScript库.它由Facebook和一个由个人开发者和公司组成的社区来维护. React可以作为开发单页或移动应用的基础.然而,React只关注向D…
Spring Cloud - Getting Started Example, 转载自:https://www.logicbig.com/tutorials/spring-framework/spring-cloud/hello-world.html Following is a quick-start example of Spring Cloud. We are going to develop very simple microservices using Spring Cloud, Sp…
一. 2.0.0 升级到 2.4 升级前: 1.确保没有使用extends关键字实现OnInit的继承,以及没有用任何的生命周期中,而是全部改用implements. 2.停止使用deep imports,这些符号不再是公共api的一部分. 3.停止使用Renderer.invokeElementMethod,因为该方法已被删除,目前没有其他的替换方案. 4.停止使用DefaultIterableDiffer,KeyValueDiffers#factories, 或 IterableDiffer…
有时在运行项目或者打包项目的时候会遇到报错信息:found version 4, expected 3, 这个大概意思是说该插件需要的依赖当前不支持,需要提高依赖的版本. 比如:@angular/compiler-cli.@angular/common.@angular/compiler.@angular/core,这些依赖升级后,其他的一些依赖也要跟着升级才能正常使用. 没有对应升级控制台会提示: 一些相应依赖同时要升级的有以下一些: https://stackoverflow.com/que…