2019.05.15

[新闻] Lerna 发布了新的版本,支持 conventional-commits ,而且我看源码时学到了一招,原来 dependencies 支持 file:../query-graph 方式:https://github.com/lerna/lerna/releases/tag/v3.14.0

[文章] 微前端技术调研,我们来看看优秀的工程师,是怎么做技术调研的:https://github.com/umijs/rfcs/blob/umi-plugin-single-spa/accepted/0000-umi-plugin-single-spa.md

[类库] Google 实验室推出了一个库 comlink ,它属于 Web Workers 的二次封装;之前没想到它的应用场景,后来发现它的适用场景应该是像淘宝双十一的数据大屏;「因为性能问题,通常一个大屏需要请求多个接口来展示图表,服务端通常有熔断策略,每个图表正常一秒请求一个接口的话,带来的 Ajax 开销也是非常大的」这种情况就特别适用于 Web Workers 技术:https://github.com/GoogleChromeLabs/comlink

[类库] unform 是 React 体系的一个表单库,它有一点特别好的地方,支持嵌套数据格式,这样就可以避免了在发送数据时(Service)做二次的数据处理:https://github.com/Rocketseat/unform

配图 - 微前端技术调研

示例 - Lerna file 支持

{ 
    "dependencies" : { 
        "foo" : "1.0.0 - 2.9999.9999", 
        "bar" : ">=1.0.2 <2.1.2", 
        "baz" : ">1.0.2 <=2.3.4", 
        "boo" : "2.0.1", 
        "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0", 
        "asd" : "http://asdf.com/asdf.tar.gz", 
        "til" : "~1.2", 
        "elf" : "~1.2.3", 
        "two" : "2.x", 
        "thr" : "3.3.x", 
        "lat" : "latest", 
        "dyl" : "file:../dyl" // 看这里
    }
}

示例 - Nested fields

import React from "react";
import { Form, Input, Scope } from "@rocketseat/unform";

function App() {
  function handleSubmit(data) {
    console.log(data);

    /**
     * {
     *   name: 'Diego',
     *   address: { street: "Name of street", number: 123 } // 看这里
     * }
     */
  };

  return (
    <Form onSubmit={handleSubmit}>
      <Input name="name" />

      <Scope path="address"> // 看这里
        <Input name="street" />
        <Input name="number" />
      </Scope>

      <button type="submit">Save</button>
    </Form>
  );
}

今日图 - 团队协作