服务端阅读 79092024年4月8日 00:35基于NestJS 实现 API 网关服务,支持身份验证、负载均衡API网关是现代微服务架构中的重要组件,它可以统一多个服务的入口,提供请求路由、身份验证、负载均衡等功能。在本教程中,我们将探索如何使用NestJS实现一个简单的API网关。为什么选择NestJS作为API网关?NestJS提供了一个层次化的模块系统,非常适合构建可维护的API网关。它支持TypeScript,默认集成了Express.js(可以切换成Fastify),并提供了大量的模块和中间件来NestJS
前端阅读 55702022年6月18日 12:23Node模块循环引用的具体过程如果A与B存在相互依赖、相互引用关系,不就形成了一个闭环或者说死循环?那程序怎么会继续解析呢?很显然,运行结果告诉我们,nodejs引擎有自己的一套处理循环引用的机制。下面我们根据上述运行结果,来推演了两个module模块的执行顺序,以了解nodejs打破闭环的机制。过程分解:①执行modA第一行,输出一个test接口②执行modA第二行,要引入modB此时断点产生了,即开始执行modB里的代码,JavaScriptNodeJS
前端阅读 68332023年6月21日 21:49前端E2E自动化测试方案 - Cypress 入门教程项目的稳定性是项目迭代过程中最重要的关注点,在Web应用开发中,如何保证程序的高质量,可靠和良好的用户体验是指关重要的。为了达到这些目标,E2E自动化测试是不可或缺的环节。目前市面上流行的E2E自动化框架中,cypress是基于JavaScript编写用例的框架,作为前端开发者,可以轻松接入E2E自动化测试。Cypress为开发者提供了简洁、高效的测试方法,无论是对于初学者还是经验丰富的开发者Cypress
前端阅读 65682023年11月22日 21:23XSS防御:内容安全策略 CSP 使用实战与配置公司部门安全合规改造计划,要求所有的Web站点统一添加CSP规则。对于CSP机制我只是之前在应付面试的时候背过相关的概念,并没有真正在项目中实践过。所以希望借助本次改造任务好好理解并实践CSP机制。CSP的全称是ContentSecurityPolicy,翻译成中文就是内容安全策略。CSP 通过告诉浏览器一系列规则,严格规定页面中哪些资源允许有哪些来源,不在指定范围内的通通拒绝。前端Web安全
工程阅读 71712024年4月10日 00:31Git 如何合并多个 Commit 提交当你在开发软件时,频繁的提交(commit)能帮你更好地追踪代码变化。然而,当一系列小的改动造成了大量的提交记录,合并(squash)这些提交能让历史更加清晰易读。在Git中,我们可以通过交互式rebase来实现这一点。现在,我会带你用一种简单易懂的方式,一步步地学会如何合并多个commit。Rebase交互式操作交互式rebase是Git的一个强大功能,它允许你重写历史—即重写连续的提交序列。你Git
前端阅读 31122023年12月5日 09:51iframe页面通信 - iframe 页面如何传递数据当我们的Web页面需要复用现有网站的页面时,我们通常会考虑代码层面的抽离引用,但是对于一些过于复杂的页面,通过iframe嵌套现有的网站页面也是一种不错的方式。虽然对于用户而言,看到的页面其实是一个整体,但是本质上是两个甚至多个页面的组装,那么页面跟页面之间的交互就避免不了相互通信。iframe 页面之间的通信主要是通过监听页面的全局 `message`事件,然后其他页面通过 `postMessa前端
服务端阅读 24012022年6月18日 12:02Koa注解Koa注解Node支持装饰者模式添加babel需要的npm包yarnadd@babel/core@babel/preset-env@babel/plugin-proposal-decorators@babel/polyfill@babel/register-D新建.babelrc配置文件{'presets':['@babel/preset-env'],'plugins':[['@babel/pluNodeJSKoa
服务端阅读 61142024年2月23日 16:37Nodejs 使用 replaceAll 方法的四种方式在Node.js中,可以使用几种方法来实现replaceAll功能,也就是在一个字符串中替换所有出现的子串。以下是一些常用方法:使用String.prototype.replace()与正则表达式在JavaScript(因此也包括Node.js)中,你可以使用String.prototype.replace()方法结合全局(global)正则表达式来替换所有匹配的字符串。例如:letstr="heNodeJS
服务端阅读 47222022年6月18日 11:55Node方法汇总os篇OS操作系统constos=require('os')Api说明用法arch操作系统的CPU架构os.arch()cpusos.cpus()freemem返回空闲的系统内存量os.freemem()totalmem返回系统的内存总量os.totalmem()getPriority返回由pid指定的进程的调度优先级os.getPriority([pid])setPriority尝试为pid指定的进程JavaScriptNodeJS
前端阅读 50622024年2月22日 23:31基于 React 封装网络状态变化的 Hook,轻松监听网络变化随着移动互联网的普及,用户对Web应用的网络连接状态变得越来越敏感。无论在地铁隧道还是偏远地区,不稳定或缺失的网络连接都是常态。因此,为了提供无缝的用户体验,构建一个能够智能响应网络状态变化的应用变得至关重要。本文将介绍如何使用ReactHooks来轻松创建一个网络状态监听器,从而让您的应用能够优雅地应对网络的波动。使用ReactHook监听网络状态变化初始化Hook结构创建一个新文件useNetReact