iframe页面通信 - iframe 页面如何传递数据
当我们的Web页面需要复用现有网站的页面时,我们通常会考虑代码层面的抽离引用,但是对于一些过于复杂的页面,通过iframe嵌套现有的网站页面也是一种不错的方式。虽然对于用户而言,看到的页面其实是一个整体,但是本质上是两个甚至多个页面的组装,那么页面跟页面之间的交互就避免不了相互通信。iframe 页面之间的通信主要是通过监听页面的全局 `message`事件,然后其他页面通过 `postMessa
前端 · 阅读 1940 · 2023年12月5日 09:51

Redux进阶 - Redux中间件使用(redux-thunk,redux-logger)
在Redux中,中间件是对dispatch函数进行扩展的一种方式,用来处理action和store之间的通信和交互。中间件的作用可以分为两类:一类是应用领域逻辑相关的中间件,一类是通用的、与应用领域逻辑无关的中间件。Redux需要中间件的原因是:通过中间件可以实现action和store之间的断点,方便地对action进行拦截和处理,在action到达reducer之前,执行某些额外操作(如日
前端 · 阅读 4033 · 2023年7月2日 12:59

React 内置 Hook 之 useEffect
Hook是一种特殊的函数,使得你能够在不更改组件结构的条件下,重用组件之间的状态相关逻辑,进步提升我们代码的复用性和可维护性。其中,useEffect作为核心的一部分,帮助我们解决在类组件中副作用相关逻辑复杂难懂的问题。理解了Hook的概念,让我们现在深入探讨它其中一个重要的应用——useEffect。useEffect是什么useEffect是React的核心Hook之一。它让你可以在函数组件中
前端 · 阅读 3547 · 2022年3月14日 15:04

Mongoose 如何查询某个字段为空、null、不存在的数据
在使用MongoDB数据库进行数据管理时,经常会遇到需要查询某些字段为空或者不存在的文档的情况。Mongoose为MongoDB提供了直观的建模和查询语法。本文将介绍如何在Mongoose中查询具有空字段的文档,确保能够轻松处理各种数据查询需求。MongoDB中的「空」有哪些首先,我们需要理解在MongoDB中,一个字段被认为是空的情况可能有几种不同的状态:字段值为null。字段不存在。字段值为空
服务端 · 阅读 3426 · 2024年4月21日 14:24

前端离线存储能力:如何在 React 中巧妙运用IndexedDB
当我们开发复杂的Web应用时,常常需要在客户端存储大量数据。你可能听过localStorage或者sessionStorage,但它们在存储空间和功能上都有限。而今天我们要聊的,是一个功能更强大的技术:IndexedDB。IndexedDB是什么IndexedDB是一个运行在浏览器中的非关系型数据库。它让你能够存储大量的数据,并具有高性能的查询能力。不像localStorage只能存储字符串,In
前端 · 阅读 2899 · 2024年1月11日 23:29

如何使用 git stash 暂时缓存 git 工作区或暂存区的内容改动
在日复一日的代码开发过程中,我们经常会遇到这样的情境:你正在开发一个新功能,但是突然需要切换到另一个分支处理一个紧急bug。这个时候,你的代码又处于半成品状态,既不想提交一个半成品的commit,又不想丢失当前的工作进展。这时候,gitstash就是你的救星。今天,我们就来深入了解一下这个强大的Git工具。gitstash是什么gitstash命令可以将你的工作区和暂存区的改动“储藏”起来,让你得
工程 · 阅读 3350 · 2024年5月8日 00:21

探索Opossum: 在NestJS中实现断路器模式Circuit Breaker
在构建微服务或分布式系统时,服务间通信的可靠性至关重要。然而,在网络请求中,由于多种原因,调用服务可能会失败或响应时间过长。为了防止这种情况引起的连锁反应,可能会导致整个系统瘫痪,我们可以使用断路器模式(CircuitBreakerpattern)来提高系统的弹性。什么是断路器模式断路器模式是一种自动化的保护机制,能够防止一连串的失败引发更广泛的系统问题。想象一个电路断路器:当系统检测到一定数量的
服务端 · 阅读 3782 · 2024年4月7日 23:42

Next.js 如何自定义服务器端口以及解决端口冲突指南
Next.js为开发高性能React应用程序提供了简单的页面路由、预渲染和动态导入等功能。在进行Next.js应用开发时,可能会遇到需要自定义服务器端口,或解决端口冲突的情况。本文将教你如何解决NextJS开发中端口问题。自定义Next.js服务器端口Next.js默认的端口是3000,但在某些情况下,你可能需要更改这个端口号,比如你的系统上端口3000已经被其他服务占用。以下是更改端口的步骤:方
前端 · 阅读 1426 · 2024年4月7日 23:54

一文教会你如何使用 Vercel 部署你的 NestJS 应用
这篇文章详细解析了如何使用Vercel免费部署Nestjs项目的步骤。首先,我们需要在Nestjs项目中添加Vercel的配置文件。接着,我们将项目上传到GitHub,然后授权给Vercel。选择GitHub上的项目,通过Vercel平台创建新项目并完成部署。此外,如果你想使用个人域名访问你的服务,Vercel也提供了这样的支持,你只要有一个通过备案的个人域名,就可以将其配置到你的Vercel项
服务端 · 阅读 6511 · 2023年12月14日 23:07

Git 如何撤销或者还原最近的提交记录
在日常开发过程中,使用Git进行版本控制是一项常规操作,有时候我们可能会意外地提交了一些不应该提交的文件,或者提交信息写错了Git提供了多种方式让我们可以轻松撤销这些提交。一、撤销最后一次的提交如果你想要撤销最后一次的提交,并且希望撤销后重新编辑代码与提交信息,可以使用gitreset命令。gitreset--softHEAD^使用--soft参数将会撤销最后一次提交,但是保留更改的内容在工作目录
工程 · 阅读 3428 · 2024年4月11日 23:56

