闪烁之狐
10
08
express express
基本使用import express from "express" const app = express() app.use( function (req, res, next) { console.log("mid
2024-10-08 高红翔
08
jwt jwt
1.JWT JWT(json web token)是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准。 JWT 的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源。比如用在用户登
2024-10-08 高红翔
09
27
cookie和session原理 cookie和session原理
Cookie 与 Session 的区别与理解1. Cookie:Cookie 是存储在客户端(浏览器)上的小数据文件,用来保持用户的状态和信息。它由服务器生成,并通过 HTTP 响应头发送到客户端,客户端每次请求都会将该 Cookie 发
2024-09-27 高红翔
26
koa底层实现 koa底层实现
1.Koa Koa是一个由 Express 原班人马打造的,尝试在 Web 应用开发中摆脱回调地狱,并增强错误处理的轻量化的 Node.js 框架。 Koa的目标是成为一个更小、更富表现力、更健壮的 Web 框架。 2.安装Koa 需要
2024-09-26 高红翔
07
15
Vue 中的diff算法? Vue 中的diff算法?
前后元素不一致 两个不同虚拟节点不需要进行比较,直接移除老节点,将新的虚拟节点渲染成真实 DOM 进行挂载即可 export const isSameVNodeType = (n1, n2) => { return n1.t
2024-07-15
06
27
V8内存管理 V8内存管理
V8 也会申请内存,申请的内存又会分为堆内存和栈内存 一、栈 栈用于存放 JS 中的基本类型和引用类型指针 栈的空间是连续的,增加删除只需要移动指针,操作速度非常快 栈的空间是有限的,当栈满了,就会抛出一个错误 栈一般是在执行函数时创建
2024-06-27 高红翔
05
11
单页应用首屏加载速度慢的怎么解决? 单页应用首屏加载速度慢的怎么解决?
使用路由懒加载、异步组件,实现组件拆分,减少入口文件体积大小,优化体验骨架屏 抽离公共代码,采用 splitChunks 进行代码分割。 组件加载采用按需加载的方式。 静态资源缓存,采用 HTTP 缓存 (强制缓存、对比缓存)、使用 lo
2024-05-11
11
React中的diff算法? React中的diff算法?
React 的 diff 算法是 React 在更新 DOM 时使用的算法。它的目的是最小化页面的重新渲染,以便提高性能。 当 React 渲染组件时,它会在内存中生成虚拟 DOM 树。然后,它会对比新的虚拟 DOM 树和之前的树的差异,找
2024-05-11
11
Vue中的性能优化有哪些 Vue中的性能优化有哪些
Vue2 中数据层级不易过深,(会数据劫持每一层都增加getter和setter).合理设置响应式数据; Vue2 非响应式数据可以通过 Object.freeze()方法冻结属性; Vue2 中采用函数式组件 -> 函数式组件开销
2024-05-11
11
函数组件的优势 函数组件的优势
函数式组件是一种定义自身没有任何状态的组件的方式。它们很像纯函数:接收 props,返回 vnodes。函数式组件在渲染过程中不会创建组件实例 (也就是说,没有 this),也不会触发常规的组件生命周期钩子。 在 Vue2 正常组件是通
2024-05-11
03
28
Vue.set方法是如何实现的 Vue.set方法是如何实现的
Vue2 不允许在已经创建的实例上动态添加新的响应式属性。所以采用 set API 来进行实现。 export function set(targetx, key, val) { // 1.是开发环境 target 没定义或者
2024-03-28
28
Vue组件中的data为什么必须是函数 Vue组件中的data为什么必须是函数
根实例对象data可以是对象也可以是函数“单例”,不会产生数据污染情况 组件实例对象data必须为函数,目的是为了防止多个组件实例对象之间共用一个data,产生数据污染。所以需要通过工厂函数返回全新的 data 作为组件的数据源 fun
2024-03-28
2 / 11