从入门到实践:前端 Monorepo 工程化实战

随着前端项目的规模不断扩大,如何高效管理多个相关项目成为了一个棘手的问题。特别是当你的团队同时维护着多个共享相似技术栈的应用时,可能会遇到这些困扰:重复的依赖安装、繁琐的包发布流程、不一致的工具配置等。 本文将详细介绍如何使用 Monorepo 来解决这些问题,我们会以实际项目为例,使用 pnpm 和 Turborepo 搭建一个高效的前端工程化方案。读完本文,你将了解: > - ...

JS 实现 LinkedList

LinkedList 是一种线性数据结构,由一系列的 node 组成,关键点在于每个 node 有一个 next 属性指向下一个 node,第一个 node 称为 head ,最后一个 node 为 tail graph LR head --> 2 --> 3 --> 4 --> tail --> null 实现一 ...

Vue3 + TypeScript 实践总结

Vue3 和 TS 结合也在项目里使用了一段时间,也踩了不少坑,在团队内部做了一次分享,整理成文,方便回顾 类型推断的问题 首先遇到的是,模版里无法达到类型推断,这个可以通过新的插件volar去搞定,这个插件还有其他丰富的功能 ...

Javascript Generator 理解和应用

我们知道,普通函在所有任务执行完毕前是不能停止的,只有通过return 或者部抛出错误,再次调用有时从头开始执行,相反的,如何才能让一个函数中途停止执行,并且可以在停止的地方恢复函数执行呢? 答案是生成器,Generator (生成器) 是通过调用一个 generator function 返回的一个满足满足[迭代协议](https://developer.mozilla.org/en ...

理解CSS minmax()函数

minmax() CSS 函数定义了一个尺寸范围:大于等于最小值或者小于等于最大值,配合 grid 布局使用。 从一个简单的例子开始 grid-template-columns: minmax(20px, 100px) 1fr 1fr; 上面代码会将一个 grid 盒子: 划分 3 列 第一列的宽度是minmax(20px, 100px),最小 ...