🦌鹿心雨的小窝
🦌
🏡
首页
📚
博客
🛢
分类
📫
友链
🖼
关于
📖
碎碎念
登 录
注 册
🦌鹿心雨的小窝
Hello, World!
|
博客
博客
Lu_kokoro_ame_0 发布于 2024-05-03
Nest 源码解析:依赖注入是怎么实现的?
控制反转
源码
...
Nest
后端
...
Nest 是目前颇具人气的 Node.js 后端框架,它基于 Typescript 开发,借助 Typescript 的装饰器特性,支持了依赖注入和控制反转。本文将对其依赖注入机制源码进行解读,Nest 利用 @Module 装饰器,记录模块之间的依赖关系;创建应用时,递归扫描模块依赖,然后实例化模块各组件,根据 @Inject 注入所需依赖。
0
38
Lu_kokoro_ame_0 发布于 2024-04-06
Next 的 App Router 模式下,如何加入页面跳转时的进度条?
Next useRouter
Next App Router
...
Nest
问题起因是我想给自己博客页面切换时加一个进度条,博客前端技术栈是 React,使用 Next 做了 SSR。在这方面有非常成熟的库 NProgress,只需要调用 NProgress.start() 和 NProgress.done() 即可开启和结束进度条。我们只需要在页面开始、结束切换时调用它们。但是问题是,Next 13 版本推出的 App Router 模式并没有给出监听路由切换的 API
0
137
Lu_kokoro_ame_0 发布于 2024-03-31
项目太大了,git clone 克隆不下来怎么办?
git clone
Git
在使用 git clone 克隆远程仓库时出现错误。在大概下载了 10 MB 内容的时候卡住然后报错:RPC failed; curl 16 Error in the HTTP2 framing layer。这大概是仓库太大了,但是修改 http.postBuffer 大小,检查是否使用 Nginx 等代理等方法均无效。这边使用 --depth=1 仅拉当前分支最新代码,拉取成功,但问题原因不明。
0
37
Lu_kokoro_ame_0 发布于 2024-03-23
overflow 可以解决 flex 宽度溢出?
flex
overflow
CSS
在写一个超出宽度省略的小功能时遇到一个奇怪的问题,flex 子元素会突破包裹元素的宽度。外层的 flex 元素设置了固定宽度,但是 flex 子元素在超出范围后并没有收缩,即使设置了 flex-shrink: 1 和 flex-basis: 0 也没有效果。查阅了标准之后发现,这是由于 flex 子元素拥有默认的 min-width,进而影响的 flex 对子元素的缩放。
0
43
Lu_kokoro_ame_0 发布于 2024-03-06
Node.js 的事件循环机制简介
事件循环
异步
Node
Javascript 在浏览器中的事件循环(Event Loop)机制,其是根据 HTML5 定义的规范来实现,而 Node 的事件循环基于异步 IO 库 libuv 实现。Node 的事件循环分为六个阶段:timers、pending callbacks、idle, prepare、poll、check、close call,它们将会执行特定类型的任务。另外,Node 同样拥有微任务机制。
0
40
LittleRangiferTarandus 发布于 2024-02-28
Vue 3 渲染优化:Block
Vue Block
源码
Vue
Vue 3
Vue 3 中,使用 Block 对渲染进行了优化,某些 VNode 中有 dynamicChildren 属性,它收集了动态子代节点的 VNode,当存在 dynamicChildren 时,diff 的时候只需要比较 dynamicChildren 中的 VNode, 相比前代的全量比较,提高了性能。
0
27
LittleRangiferTarandus 发布于 2024-02-26
Vue 3.4 响应式更新:计算变量优化
computed
Vue 响应式
...
Vue 3
Vue
Vue 3.4 更新优化了响应式系统,解决了所依赖的响应式变量改变时,即使计算变量的变量值没有改变,也会触发后续的副作用/依赖的问题,例如页面多次渲染、watch 被多次触发、其他计算变量重新计算。计算变量依赖的响应式变量变化会触发后续的副作用,后续的副作用被触发后,将检查其依赖的计算变量是否改变。当计算变量发生改变时,副作用才会继续执行,如果没有改变则结束本次调度。
1
80
LittleRangiferTarandus 发布于 2024-02-22
Vue 3.4 特性:自定义双向绑定的语法糖,defineModel
defineModel
v-model
...
Vue 3
Vue
随着 Vue 3.4 的更新,defineModel 的 API 也正式加入了。它可以简化组件间双向绑定的操作,在自定义表单类组件中非常有用。在这个 API 出现前,我们自定义双向绑定需要手动利用 watch 和事件回调函数来实现组件内部状态和传入的 v-model 变量之间的同步,现在一个 API 就可以搞掂了。
0
52
LittleRangiferTarandus 发布于 2024-02-19
Vue 3 模板编译
Vue 模板编译
Vue 静态提升
...
Vue
Vue 3
Vue 3 完整版在挂载组件的时候,如果组件实例没有 render 函数,就会走模板编译的逻辑(运行时版已通过工程化框架的插件自动编译模板,生成 render 函数)。模板编译可以分为 baseParse、transform、generate 三个阶段。值得我们关注的是,PatchFlag、静态提升、事件缓存等优化,极大提高了 diff 的效率。
0
45
LittleRangiferTarandus 发布于 2024-02-18
Leetcode 87 Scramble String,递归地反转字符串
记忆化搜索
动态规划 递推式
算法与数据结构
Scramble 操作会随机选定下标分割字符串,并且随机决定是否将这两部分交换,进而组成新的字符串,下一步对两个子串做同样的操作。两个字符串是 scrambled string 即其中一个字符串经过若干次 scramble 操作会变成另一个字符串。这道题目关键是看出 scrambled string 是一种等价关系
0
27
鹿心雨🦌🦌
KokoroAme Blog
一个爱折腾的程序🦌建立的无名小窝
ARTICLE
0
CATEGORY
0
TAG
0
最新博客
最新博客
Tech Stack
Tech Stack
Front-End
Server
鹿心雨🦌🦌
KokoroAme Blog
一个爱折腾的程序🦌建立的无名小窝
ARTICLE
0
CATEGORY
0
TAG
0
粤ICP备2023133136号
🌸 Run