基于 NestJS 集成 ElasticSearch 实现模糊搜索功能
Elasticsearch是一个基于Lucene的开源搜索引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch具有高弹性,支持即时和实时的复杂搜索功能。NestJS是一个用于构建高效、可扩展的Node.js服务器端应用程序的框架,它使用TypeScript开发并且结合了OOP(面向对象编程)、FP(函数式编程)和FRP(函数响应式编程)。整合E
服务端 · 阅读 1866 · 1月3日 23:02
React 内置 Hook 之 useReducer 优雅管理状态
在开发React应用程序时,状态管理一直是一个需我们重点关注的主题。而在React16.8的版本中,新引入的HooksAPI使得我们可以更加方便的在函数式组件中使用状态和其他React特性而无需写class。本文就详细的为你介绍一个非常强大的Hook:useReducer,它为复杂状态的管理提供了出色的解决方案。什么是useReduceruseReducer就如同它的名字暗示的那样,它是一个允许你
前端 · 阅读 1257 · 2021年12月24日 11:17
Node 项目参数配置化,命令行参数
前言:对于工程化的Node项目,如果设置配置系统参数,可以改变项目的参数耦合性。本文记录三种参数配置的方法。一、env变量process.env参数变量配置添加npm依赖npminstallcross-env-D命令行参数设置'scripts':{'start':'cross-envNODE_ENV=devAPI=localostnodeapp.js'}读取process.env参数console
服务端 · 阅读 897 · 2022年6月18日 12:15
React 内置 Hook 之 useRef 深度解析与使用案例
ReactHooks已经成为了现代React开发中不可或缺的一部分,今天我们来深入研究一个特别有用的Hook——useRef。在这篇文章中,我们将引导你了解useRef的运用,并通过一些实例穿插其中,让你对这个Hook有更深入的理解。什么是useRefuseRef 是React的一个内置Hook,它可以返回一个可改变的ref对象,非常适合用于管理不会触发组件渲染的变量。用官方的话来说,一
前端 · 阅读 1223 · 2021年12月24日 11:25
基于 React 封装操作浏览器剪切板的 Hook - useClipboard
在Web开发中,我们经常会遇到需要操作剪切板的场景,比如复制一段代码、一个链接或者一些文本信息。React通过自定义Hook让这个过程变得既简单又高效。本文将教你如何封装一个useClipboardHook来操作浏览器的剪切板。开始封装useClipboardHook要创建一个useClipboardHook,我们需要使用两个基础的Hook:useState和useEffect,以及浏览器提供的C
前端 · 阅读 1285 · 2月23日 13:49
TailwindCSS 如何画一条0.5px的线
在移动端项目,一般为了让线条看起来更细、更锐利,此时使用0.5px的线条是非常合适的。那么如何使用TailwindCSS画一条0.5px的线条呢?在实现这个需求的时候,首先去TailwindCSS官网查了一下border有没有对应的内置工具类,发现内置的线条最细的是1px;所以我们需要自定义配置TailwindCSS的space属性。下面将详细说明如何配置。两种配置实现方式一基于配置spaci
前端 · 阅读 1907 · 2023年12月18日 23:24
TailwindCSS 如何设置全局字体以及给特定元素设置字体
TailwindCSS是一个功能类优先的CSS框架,它允许开发者通过组合不同的工具类来快速构建自定义的用户界面。设置全局字体及给特定元素设置字体是前端开发中的常见需求,TailwindCSS为这一需求提供了简单有效的解决方案。接下来,我们将一步步地探讨如何在TailwindCSS中实现字体设置。字体文件引入一旦选择了字体,你需要将它们添加到你的项目中。这里有两种常见的方法:使用在线字体服务或自托管
前端 · 阅读 2273 · 4月12日 12:15
tailwindcss 如何配置默认单位为px
当我们刚开始使用tailwindcss框架处理项目中的样式,我相信很多人会跟我一样非常不习惯。tailwindcss默认支持的rem单位,而不是我们已经非常习惯的px,这其实给我们带来了不小的心智负担。这篇文章将介绍如何在项目中使用px单位设置元素的属性。方案方案一tailwindcss默认支持灵活设置元素距离属性,比如给div加一个16px的内边距,在属性后通过[]来设置具体的px;
前端 · 阅读 7858 · 2023年5月16日 23:24
一文讲清 TypeScript 的 Omit 和 Exclude 使用方式与功能对比
TypeScript为了开发者提供了基础数据类型,同时也允许开发者使用interface、type等指令自定义复杂结构类型。与编程变量类似,开发者不能无节制的新增类型,类型的整体集中管理是降低维护成本的重要手段。对于更多复杂的类型,开发者可以基于基础类型进行衍生,TypeScript提供了丰富的内置的工具类型,例如本文将会介绍的Omit 和 Exclude。基于这些工具类型
前端 · 阅读 1400 · 2023年12月26日 20:05