SkioFox Blog

Thinking will not overcome fear but action will.

monorepo介绍

monorepo介绍

多项目管理策略:monorepo What Is monorepo ? Monorepo 是一种多项目放在一个仓库 (repository) 的管理策略,这样的项目可以叫做 monorepo 项目。 优点 (Pros) 易于使用重复代码:类似的功能或通信协议可以抽象到共享库中,并直接包含在项目中,而无需单独安装依赖; 简化依赖关系管理:多个项目依赖的第三方依赖可能会多次下载...

React实践

React实践中的一些优点总结

一、前言 在日常开发和 Code Review 的时候,常常会发现一些共性的问题,也有很多值得提倡的做法。本文针对 React 技术栈,总结了一些最佳实践,对编写高质量的代码有一定的参考作用。 二、最佳实践 & 说明 多用 Function Component 如果组件是纯展示型的,不需要维护 state 和生命周期,则优先使用 Function Component。...

一些关于前端三大框架的对比

一些关于前端三大框架的对比

概述 由于对三大框架都有一定经验,可以一句话总结三大平台开发体验: Angular的极限面向对象处理复杂业务非常舒适,但是对于轮子兄弟极其不友好,没有CDK你就只能抓瞎,一句话:高楼大厦,攀登不易。 React的Hooks有很强的Hacky精神,零星几个API,绝大部分需求皆可实现,一句话:步步为营,跬步千里。 Vue的API数量适中,基础设施完善,文档友好,概念与Angu...

重新认识JS中的类型判断

重新认识JS中的类型判断

概述 JavaScript的类型判断是前端工程师们每天代码中必备的部分,每天肯定会写上个很多遍if (a === ‘xxx’)或if (typeof a === ‘object’)类似的类型判断语句,所以掌握JavaScript中类型判断也是前端必备技能,以下会从JavaScript的类型,类型判断以及一些内部实现来让你深入了解JavaScript类型的那些事。 类型 JavaScri...

JS中的线程和异步

JS中的线程和异步

为什么JavaScript是单线程? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个线程呢? JavaScript的单线程,与它的用途有关。作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时...

axios

axios使用和原理解析

axios的使用 // main.js // 将axios方法挂载到全局的http对象上 Vue.prototype.$http = axios; // login.vue methods: { async handleLogin(e) { e.preventDefault(); // console.log('登录'); // ...

js事件队列

js事件队列

从promise、process.nextTick、setTimeout出发,谈谈Event Loop中的Job queue Promise对象 var promise1 = new Promise(function(resolve, reject) { setTimeout(function() { resolve('foo'); ...

浏览器工作原理解析

浏览器工作原理解析

浏览器是我们工作过程中的重要宿主,了解浏览器的工作原理会有助于我们更快的解决开发过程中浏览器的问题以及对页面在浏览器中的优化起到帮助作用。实际上,对浏览器的实现者来说,他们做的事情,就是把一个URL变成一个屏幕上显示的网页。整个过程如下: 浏览器首先使用HTTP协议或者HTTPS协议,向服务端请求页面; 把请求回来的HTML代码经过解析,构建成DOM树; 计算DOM树...

JS中的设计模式

JS中的设计模式

单例模式 定义:保证一个类只有一个实例,并提供一个访问他的全局访问点。 简介:单例模式是一种常用的模式,我们在多次引入其他模块时,并不需要每次都创建一个新的模块对象,复用之前创建过的对象不仅能减少内存的开销,同时也可以体验共享对象带来的便利。简单来说就是使用闭包持久保存函数上一次的执行结果,在之后的调用中直接返回。 使用场景:比如自定义弹窗,无论你程序中多...

vue 3.0的更新和展望

vue 3.0的更新和展望

vue 3.0展望 重写虚拟dom 静态树提升 使用Proxy观察者机制取代Object.DefineProperty 体积更小,压缩后10k 可维护性,很多包解耦 支持TS 实验性支持Time Slicing和hooks支持 不用 Class API 改用 Function-based API