代理服务器
在前端开发中,前端不直接与后端通信而使用代理服务器主要有以下几个原因:
解决跨域问题在浏览器中,出于安全考虑,存在同源策略限制。即协议、域名、端口号都相同的情况下,前端才能直接向后端发起请求,否则会被浏览器阻止。而使用代理服务器,前端可以将请求发送到代理服务器,代理服务器再将请求转发到后端,由于代理服务器和后端通常处于同一域或者不受同源策略限制,从而有效地解决了跨域问题。
例如,前端应用部署在域名www.example.com,后端 API 服务部署在api.example2.com,直接从前端发起请求会被浏览器阻止。但如果设置一个代理服务器在www.example.com/prox
more...Mobx
介绍
mobx:
定义:MobX 是一个用于管理应用程序状态的库,使用响应式编程模型。
功能:提供了简单易用的 API 来创建可观察的状态,处理派发的动作,以及自动跟踪和更新依赖的组件。
使用场景:适用于任何 JavaScript 应用,支持 React、Vue 等框架。
mobx-react:
定义:mobx-react 是 MobX 的一个集成库,专为 React 设计,提供了将 MobX 状态和 React 组件结合的功能。
功能:允许 React 组件响应 MobX 状态的变化,提供装饰器(如 @observer)和其他帮助函数来简化与 MobX 的集成。
版本:在 React 1
more...devicePixelRatio
定义devicePixelRatio是浏览器中window对象的一个属性,用于获取设备的物理像素和逻辑像素之间的比例,通常用于适配高分辨率设备(如 Retina 屏幕)。它的值定义为设备的物理像素与 CSS 像素的比例(即一个 CSS 像素采用几个实际屏幕像素绘制)。这个值影响图像和画布在不同设备上的显示效果。
在高分辨率(Retina)设备上,devicePixelRatio 通常为 2 或更高,而在标准显示屏上为 1。
常见用途1.画布绘图:在高分辨率设备上绘图时,可以使用 devicePixelRatio 来缩放 canvas,确保画布内容的清晰度。
2.媒体查询:在 CSS 中,可以利
more...Nginx
定义Nginx 是一个高性能的 HTTP 服务器、反向代理服务器以及邮件代理服务器。它以高并发、高吞吐量、低内存消耗而著称,常用于静态资源服务、负载均衡、反向代理和缓存等场景。
至于为什么要用代理服务器,请看:代理服务器
主要功能
HTTP 服务器:Nginx 可以作为静态文件服务器,直接提供 HTML、CSS、JavaScript、图片等文件。它非常高效,适合用作前端项目的静态资源托管服务器。
反向代理:Nginx 可以将客户端的请求转发给后端服务器(如 Node.js、Python、Java 应用),起到代理作用,同时隐藏后端服务器,提升安全性。
负载均衡:Nginx 可以将请求分发到多个
more...预获取和预加载(prefetch&preload)
共同点
浏览器资源加载优化机制,通过提前加载资源来提升页面性能
都是<link>属性rel的关键字(值)
不同点
特性
prefetch
preload
用途
未来页面导航所需资源的预获取
当前页面渲染的关键资源的提前加载
优先级
低,浏览器空闲时才加载
高,立即加载
应用场景
后续导航可能用到的资源(例如单页应用的下一页面)
当前页面渲染需要的关键资源(如关键 CSS、JS 等)
浏览器行为
不会立即使用,未来可能会用到的资源
页面需要立即使用的资源
影响页面渲染
不影响当前页面渲染
加速页面渲染,优化加载顺序
适用场合
prefetch适合用在用
more...React
hook
名称
描述
用途
备注
useState
允许你向组件添加一个 状态变量参数initialState:你希望 state 初始化的值。它可以是任何类型的值,但对于函数有特殊的行为。在初始渲染后,此参数将被忽略。
1. 为组件添加状态2. 根据先前的 state 更新 state3. 更新状态中的对象和数组4. 避免重复创建初始状态5. 使用 key 重置状态6. 存储前一次渲染的信息
useEffect
允许你将组件与外部系统同步(state 是只读的。即使是对象或数组也不要尝试修改它,如果需要这样做,可以使用 Immer 第三方库)
1. 连接到外部系统2. 在自定
more...








