基于pdf-lib库开发的一款PDF处理小工具 2025-06-01| PDF处理工具 | JavaScript - ES6 - canvas PDF处理工具体验地址 点我体验前言今天要提交一些入职文件,为了保证隐私所以要对一些私密的资料加一个水印,防止信息泄露后被乱用,但是问题来了,我使用office和wps去加水印,发现前者只能加在doc文档上,后者加的水印无法调整透明度,导致内容被遮挡,所以就有了这个小工具。下面我来介绍一下这个工具的 ...
阅读更多 nodejs开发npm镜像源管理工具npm-mirror-cli 2025-05-28| Nodejs | JavaScript - ES6 - Nodejs 前言在使用nodejs时,对镜像源的管理往往需要手动配置,有时候需要记忆复杂而冗长的源链接,这个工具将支持常见镜像源(如官方、淘宝、华为等)的本地配置,你可以为每个镜像源设置一个简单好记的名称,还可以测试镜像源的速度,方便选择最优的镜像源,本工具同时提供了简洁易用的交互界面,方便大家日常使用。
CL ...
阅读更多 最长递增子序列算法 2025-05-27| 算法 | 动态规划 最长递增子序列(Longest Increasing Subsequence,LIS)是一个经典的动态规划问题,目标是在给定数组中找到一个最长的严格递增子序列(元素可以不连续)。以下从算法原理到优化实现进行详细解析:
一、问题定义给定一个无序的整数数组 nums,找到其中最长严格递增子序列的长度。1 ...
阅读更多 webpack5 模块联邦技术 2025-05-27| webpack | webpack - 模块联邦 - ModuleFederation 1. 项目准备至少创建两个项目,分别作为容器应用(承载其他微应用)和远程应用(可被容器应用或其他应用引用) 。比如命名为 container - app 和 remote - app 。
2. 安装依赖在每个项目的根目录下,安装必要的 Webpack 相关依赖:1npm install webpac ...
阅读更多 webpack基础配置详解 2025-05-26| webpack | webpack 前言webpack是一个模块打包工具,其最新版本是webpack5,它可以将多个模块进行打包,并生成一个或多个静态资源文件。webpack的配置文件为webpack.config.js,该文件包含webpack的配置信息,如入口文件、输出文件、模块加载规则、插件等。下面我们将以一个简单的webpac ...
阅读更多 canvas实现代码雨效果 2025-05-25| Canvas | JavaScript - ES6 - Canvas - html 前言canvas绘图是一种比较常用的前端技术,适用场景包括:画板、游戏、动画、图表、视频等。下面我们使用该技术完成一个代码雨效果。
项目体验地址: canvas实现代码雨效果核心代码:1234567891011121314151617181920212223242526272829303132333 ...
阅读更多 使用MessageChannel模拟React优先级执行队列 2025-05-23| 前端ES6中API使用 | JavaScript - ES6 - React 前言MessageChannel 是 HTML5 中 window 对象提供的一个用于跨线程通信的 API,它允许我们在不同的浏览上下文(如主线程与 Worker 线程)之间传递数据。React 利用了 MessageChannel 来实现优先级任务调度,模拟异步任务队列。
以下是关于 Messa ...
阅读更多 vue3 和 react 虚拟dom 2025-05-22| 前端 | ES6 - html - vue3 - react Vue 3 和 React 的虚拟 DOM 在核心概念上类似,但在实现细节、优化策略和使用方式上存在显著差异。以下是两者的关键对比:
一、核心实现差异1. Diff 算法
Vue 3:
使用 预处理 + 最长递增子序列(LIS 算法,时间复杂度为 O(n log n)
优先处理相同前置 / 后置元 ...
阅读更多 ES6中Reflect对象与Proxy结合实现代理和响应式编程 2025-05-21| 前端 | JavaScript - Web - ES6 前言在 JavaScript 中,Reflect 是一个内置对象,提供了拦截和操作 JavaScript 对象的元方法。它是 ES6 (ES2015) 引入的特性,主要用于简化元编程(meta-programming)并与 Proxy 结合使用实现对对象属性更细粒度的操作控制。
代理对象Proxy ...
阅读更多