林不渡的前端周刊VOL.5

5.31 - 6.6

本期包含项目:7个

关键词:实时DB、svelte的ApolloClient binding、混沌测试、Nest周边工具库

  • nest-jsx,一组NestJS的周边工具库,提供了不少有用的工具,如

    • nestjs-config,使用单独的一个Module来集中管理应用的所有配置,我觉得这种方式很不错
    • nest-router,类似于上一个,不过管理的是路由
    • nestjs-flub,提供格式化过的错误信息页面,类似于EggJS的错误页面。
  • rxdb JS的实时数据库,支持几乎所有JS的环境如浏览器、Node、RN等,基于RxJS的API,支持离线模式、发布-订阅模式以及兼容常见ORM。还没有在实战中玩过,但看起来是很好玩也很强大的东西。

  • typegraphql-prisma 从Prisma Schema生成TypeGraphQL的类型定义以及CRUD的 Resolver,只能说作者创造力是真的强(还提供了TypeGraphQL + Nest的binding)。前端的确是越来越懒人化了,尤其是在GraphQL这种Schema First的东西上,类似GraphQL-Code-Generator、GenQL、Hasura Engine等等各种方案层出不穷,以后可能新项目只要一顿generate就搞定了...

  • svelte-apollo 看起来像svelte版本的Apollo Client,但其实不是,更像是binding,因为还是需要使用@apollo/client包,即其中的ApolloClient 来创建客户端实例,然后再绑定到svelte应用上。从这一点看,apollo-angular才可以说是完整版本的Apollo Client实现。

    • 另外,目前只有React/Android/IOS版本的Apollo Client是由官方维护的,而Vue版本之前也是,后来被拆出去交给Vue官方团队了。
  • gremlins.js Web/Node应用的混沌测试工具,有些同学可能没有了解过混沌测试,简单介绍下,单元测试与E2E测试通常是 按照预期行为编写测试用例 - 测试用例通过 的行为模式,这就使得测试只会按照常规得用户行为。如果用户瞎点把网站点崩了呢?比如哪个点击绑定事件没写好,用户电脑稍微卡了下导致连续点击十几下,页面直接卡死?这个时候就需要混沌测试了~ 通过无意识、无规律的测试用例来避免出现预期外的情况。

  • nodejs-mobile 能在Android与IOS上跑的NodeJS,辣是真的牛,等以后有机会接触客户端了一定要尝试下。

  • graphql-lodash 通过GraphQL Directives来在Query语句中使用Lodash的API,如 @_(get: "obj-key"),只能说创造力是真的强...

    Find the planet with the biggest population