算法 • 2023-08-04
stale-while-revalidate 是一种缓存策略,用于指示客户端在缓存条目过期后,在请求新内容时仍然可以使用过期的缓存数据。这个指令允许客户端继续使用过期的缓存数据,并在后台发送异步请求以获取更新的数据。这有助于改善性能和用户体验,因为客户端可以继续使用过期的缓存数据,同时异步获取最新内容。
其他 • 2023-08-04
作为web开发工程师,我们在搭建网站时,需要针对网站应用场景来使用不同的技术栈实现。比如是否需要seo,对网站首屏渲染速度是否敏感等等。使用不同的渲染方式对网站打开速度和体验有着一定的影响。目前比较流行有四种渲染方式,分别是CSR,SSR,SSG,ISR。
其他 • 2023-07-01
作为一个开发工程师,我们经常需要和控制台打交道,普通的删除键配合上下左右,能够满足日常的命令需要,然而如果能掌握快捷键,那么速度会比常规的操作会快,使用起来也会很顺畅。
框架 • 2023-06-01
为了使系统方便维护,我们会在项目中引入 Typescript,通过使用 TypeScript,可以更好地定义对象和函数的类型,减少错误,提高代码的可读性和可维护性。然而大部分新手刚接触 Typescript 或者 React ,不知道如何声明类组件,函数组件,Props等。接下来让我们通过例子来走进 React 和 Typescript 世界。
常见问题 • 2023-05-01
Next.js 新搭建的项目,在使用 useEffect 时,会触发两次,经过排查,发现问题不是出现在 Next.js 上,而是出现在 React 上。React18 版本之后,在严格模式开发环境下,useEffect 会默认触发两次。
javascript • 2023-02-28
JavaScript 时间分片(Time Slicing)是一种优化技术,用于将长时间运行的任务拆分为多个小任务,以避免阻塞主线程,提高页面的响应性和性能。本文将详细解释 JavaScript 时间分片的原理、应用场景,并通过代码示例帮助读者更好地理解和应用该技术。
框架 • 2023-01-05
Vue3 使用 Proxy 来实现响应式系统,Proxy 可以允许我们定义对象或者函数的自定义行为,例如属性查找,赋值,枚举,函数调用等。Vue3 借助 Proxy 的 handler 拦截操作,收集依赖,数据变更触发依赖更新,实现了响应系统核心。
其他 • 2023-01-04
SharedWorker是一种可以在多个标签页之间共享的Web Worker。它可以让多个标签页共享同一个JavaScript实例。与普通的Web Worker不同,SharedWorker可以在多个标签页之间共享,而普通的Web Worker则是每个标签页都有自己的JavaScript实例。
工具 • 2022-12-31
现在的前端研发都离不开nodejs,每天都要与nodejs打交道,这也引出了一些问题,同一个项目,不同的node版本可能会导致项目无法正常运行,所以就需要针对项目的nodejs版本进行切换。市面上也出现了nodejs版本管理工具,例如nvm或者fnm。
工具 • 2022-11-01
之前介绍了 WebAssembly 基础知识,如果有兴趣可以点击查阅。本文进行 WebAssembly 实战,介绍在浏览器如何使用 WebAssembly,如何把 C++ 编译成 WASM 模块。
其他 • 2022-08-31
package.json文件是Node.js项目中的一个重要文件,它包含了项目的各种元信息,如项目名称、版本、描述、依赖关系等。其中,版本规则是package.json文件中的一部分,用于指定项目的版本号。