Xinyuan Wang

Results 128 comments of Xinyuan Wang

pnpm -r 和 pnpm -w

在最近的项目开发中,出现了一个令我困扰的状况。 我正在开发的项目 A,依赖了已经线上发布的项目 B,但是随着项目 A 的不断开发,又需要不时修改项目 B 的代码(这些修改暂时不必发布线上),如何能够在修改项目 B 代码后及时将改动后在项目 A 中同步? 在项目 A 发布上线后,如何以一种优雅的方式解决项目 A、B 版本升级后的版本同步问题? 经过一番调研,我发现解决这些问题的最佳方案便是本篇要介绍的 monorepo 策略。 ## 什么是 monorepo 策略? monorepo 是一种将多个项目代码存储在一个仓库里的软件开发策略("mono" 来源于希腊语 μόνος 意味单个的,而 "repo",显而易见地,是...

引子 某天,有位同学 小 B 从一大早就眉头紧缩,午休过后,当大家还在睡眼朦胧之时,他突然拍案而起:“你们这个 common-A 包是不是有黑科技,为什么改 tsconfig 没有用的!” 这个时候,common-A 包的维护者小 A,默不作声的跑到小 B 的身后小声说道:“你点开你业务包的打包工具配置,是不是把 common-A 包加到 include 里面去了?” 小 B 啪啪两下在 VSCode 中打开了 ****.config.js ,里面赫然写着 { tsLoader: (opts, { addIncludes...

# lerna 解决了什么问题

`hook`结合typescript可以说是很香了。本文主要介绍`hook`结合typescript 如何使用,享受ts带给我们的编辑器提示和类型约束 ### `useState` `useState`如果初始值不是`null/undefined`的话,是具备类型推导能力的,根据传入的初始值推断出类型;初始值是 `null/undefined`的话则需要传递类型定义才能进行约束。一般情况下,还是推荐传入类型(通过useState的第一个泛型参数)。 ```tsx // 这里ts可以推断 value的类型并且能对setValue函数调用进行约束 const [value, setValue] = useState(0); interface MyObject { foo: string; bar?: number; } // 这里需要传递MyObject才能约束 value, setValue // 一般情况下推荐传入类型 const...

一直以为 Next.js 就只是用来做服务端渲染的 React 框架,最近仔细看了下文档,才发现不仅仅是服务端渲染,用来做纯静态网站,比如公司官网、文档网站也是完全 ok 的。 > Next.js gives you the best developer experience with all the features you need for production: hybrid static & server rendering, TypeScript support,...

https://juejin.cn/post/6950063294270930980 API 汇总

https://github.com/imhele/eslint-plugin-react-hooks2#%E5%AE%8C%E6%95%B4%E9%85%8D%E7%BD%AE%E7%A4%BA%E4%BE%8B hooks eslint

https://github.com/beichensky/Blog/issues/6#heading-13

Dan 的 blog