ShaoKang Blog

人生在勤,不索何获.

微前端

微前端 微前端架构是一种将单体应用拆分成多个子应用的架构模式,每个子应用可以独立开发、测试、部署。 微前端架构可以解决单体应用难以扩展、难以维护的问题。 更相关内容请参考: qiankun 上的描述:什么是微前端 single-spa 上的描述:微前端概念 微前端的应用场景 新旧业务系统隔离,新业务系统独立开发、测试、部署。 系统需要动态插拔能力,比如系统权限管理、系统配...

前端阅读

书籍 《狼书-更了不起的 nodejs》 《前端架构-从入门到微前端》 《WebGL 编程指南》 《编写可维护的 JavaScript》 《网络是怎么连接的》 《正则表达式必知必会》 《代码里的世界观》 《HTTP2 基础教程》 《图解 HTTP》 《编程珠玑》 《编码:隐藏在计算机软硬件背后的语言》 《代码整洁之道》 《软技能-代码之...

你不知道的 JavaScript

引言 在我三年前阅读《你不知道的 JavaScript》这本书的时候,有些知识点就像刻在石头上一样,深深地印在了我的脑海中。然而,时间的流逝使得我逐渐忘记了部分内容,现在我决定重新阅读这本书,并在这个过程中留下这份读书笔记。 通过这个读书笔记,我希望能够记录下自己的理解和感悟,以及在温故知新的过程中产生的新认识。 开始这次重拾知识的旅程~ 作用域和闭包 简而言之:存储变量的规则称为...

Nodejs

Nodejs 1.介绍 node.js 它既是开发平台, 也是运行环境, 也是个新的语言。它本身是基于 google 的 javascript v8 引擎开发的。 2.特点 事件驱动 异步编程 非阻塞 I/O 模型 单线程 2.1 非阻塞异步 Nodejs 采用了非阻塞型 I/O 机制,在做 I/O 操作的时候不会造成任何的阻塞,当完成之后,以事件的形式通知执...

性能

performance 指标: First Contentful Paint (FCP): 测量用户导航到您的页面后浏览器呈现第一段 DOM 内容所花费的时间。 LCP(Largest Contentful Paint): 在视窗内可见的最大图像或文本块的渲染时间; TTI(Time to Interactive): 测量页面变为完全可交互所花费的时间。 TBT(Tot...

JS引擎

JavaScript 引擎 JavaScript 引擎是一种解析和执行 JavaScript 代码的程序或解释器。它可以在浏览器中或在 Node.js 服务器上运行。JavaScript 引擎能够将人类可读的 JavaScript 源代码转化为机器可以理解的低级机器代码或字节码。 JavaScript 引擎包括以下几种: V8:开源,由 Google 开发,用于 Chrome 和...

检测白屏

引言 白屏,可能是某些异常问题,导致页面无法渲染,页面阻塞在白屏状态。而如何利用技术手段来检测当前页面是否白屏,这是本文的重点。 检测方案 业界的一些经典的白屏检测手段,梳理如下。 定时检测页面关键 DOM 的是否渲染 MutationObserver 监听 DOM Performance API 截图检测 检测关键 DOM 渲染 // 轮训时间可以自己定 l...

设计模式

MVC、MVP、MVVM 模式 MVC、MVP 和 MVVM 是三种常见的软件设计模式,它们主要用于构建用户界面和分离业务逻辑。 MVC(Model-View-Controller) 模型(Model):负责处理数据和业务逻辑。 视图(View):负责展示信息给用户。 控制器(Controller):接收用户的输入并调用模型或视图的更新方法。 在 MVC 模式中,用户操作通常由视...

Tree Shaking

什么是 Tree Shaking Tree-Shaking 是一种基于 ES Module 规范的 Dead Code Elimination 技术,它会在运行过程中静态分析模块之间的导入导出,确定 ESM 模块中哪些导出值未曾其它模块使用,并将其删除,以此实现打包产物的优化。 Tree Shaking 较早前由 Rich Harris 在 Rollup 中率先实现,Webpack 自 2...

打包编译

引言 前端开发需要使用许多工具,编译器和打包工具是其中重要的两个。让我们深入了解这些工具。 编译器 编译器负责将输入代码转换为某种目标输出格式。为了保证 ECMAscript 和 TypeScript 转换成特定版本的 ECMAscript 来适配更多的浏览器,往往通过编译器来进行转换。 名称 描述 语言 速度 ...