[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8931":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":21,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":37,"readmeContent":38,"aiSummary":39,"trendingCount":16,"starSnapshotCount":16,"syncStatus":40,"lastSyncTime":41,"discoverSource":42},8931,"blog","dongyuanxin\u002Fblog","dongyuanxin","📚 专注Web与算法","https:\u002F\u002Fdongyuanxin.github.io\u002F",null,"Vue",1365,184,57,35,0,19.8,"MIT License",false,"master",true,[23,5,24,25,26,27,28,29,30,31,32,33,34,35,36],"algorithms","css3","design-pattern","frontend","javascript","koa","leetcode-javascript","leetcode-solutions","nestjs","nodejs","reactjs","serverless","typescript","webpack4","2026-06-12 02:02:00","---\nhome: true\ncomment: false\nsingle: true\nfooter: MIT Licensed | Copyright © 2020 DongYuanxin\n---\n\n此仓库是作者在 Web 学习和工作过程中逐渐积累的笔记。2020 年之前，主要内容是前端开发和算法题解；从 2020 年开始，由于工作和兴趣，主要是全栈开发。基于自身的认知难免有漏洞，也请大家指正。\n\n如果对你的学习成长有帮助，欢迎通过以下方式支持一下，我会有更多的动力去维护 👇👇：\n\n-  Star [**Github 项目**](https:\u002F\u002Fgithub.com\u002Fdongyuanxin\u002Fblog)\n\n**快速浏览**： **[NodeJS 模块学习](#深入-nodejs-模块) | [框架开发](#框架开发) | [JavaScript](#javascript) | [ES6](#es6) | [HTML5](#html5) | [浏览器](#浏览器) | [云计算](#云计算) | [CSS3 动画设计](#动画设计) | [设计模式](#javascript-设计模式-more) | [剑指 offer](剑指-offer·js-题解-more)**\n\n## NodeJS\n\n-   `[命令行]` [玩转\"命令行\"开发](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-05-07-play-node-shell\u002F)\n-   `[文件处理]` [NodeJS 是如何监听文件的变化？](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-09-03-nodejs-watch-file\u002F)\n-   `[日志处理]` [日志库的实现机制与优化方法](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-09-04-log-module\u002F)\n-   `[区块链]` [NodeJS 实现简易\"区块链\"](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-05-02-node-block-chain\u002F)\n-   `[\"会话\"控制]` [NodeJS 实战:cookie、session 与 token](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-14-cookie-session-token\u002F)\n\n### 深入 nodejs 模块\n\n-   `[事件机制]` [NodeJS 模块研究 - events](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-10-nodejs-events\u002F)\n-   `[二进制]` [NodeJS 模块研究 - Buffer](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-17-buffer\u002F)\n-   `[流]` [NodeJS 模块研究 - stream](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-28-stream\u002F)\n-   `[操作系统]` [NodeJS 模块研究:os](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-11-nodejs-os\u002F)\n-   `[数据加密]` [NodeJS 模块研究 - crypto](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-21-crypto\u002F)\n-   `[数据压缩]` [NodeJS 模块研究 - zlib](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-26-zlib\u002F)\n-   `[文件系统]` [NodeJS 模块研究 - path](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-09-nodejs-path\u002F)\n-   `[文件系统]` [NodeJS 模块研究 - fs](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-15-fs\u002F)\n-   `[多进程]` [NodeJS 模块研究 - process](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-19-process\u002F)\n-   `[多进程]` [NodeJS 模块研究 - child_process](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-25-child-process\u002F)\n-   `[多进程]` [NodeJS 模块研究 - cluster](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-27-cluster\u002F)\n-   `[DNS]` [NodeJS 模块研究 - dns](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-22-dns\u002F)\n-   `[字符串处理]` [NodeJS 模块研究 - querystring](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-20-querystring\u002F)\n\n### 框架开发\n\n-   `[KoaJS]` [核心库原理](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-06-21-deep-in-koa\u002F)\n-   `[KoaJS]` [架构设计](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-06-18-deep-in-koa)\n-   `[KoaJS]` [手动实现玩具版 koa](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-06-21-deep-in-koa-3\u002F)\n\n### 软件测试\n\n-   `[Jest]` [Jest 实战：单元测试与服务测试](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-05-04-jest-base\u002F)\n-   `[Jest]` [Jest 进阶：接入 ts、集成测试与覆盖率统计](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-05-04-deep-in-jest\u002F)\n\n## JavaScript\n\n### JS 基础\n\n-   `[基础]` [JavaScript 基础知识梳理(上)](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-03-26-javascript-first\u002F)\n-   `[基础]` [JavaScript 基础知识梳理(下)](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-03-27-javascript-second\u002F)\n-   `[正则]` [正则表达式](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-03-21-js-re\u002F)\n-   `[轮子]` [前端面试中常考的源码实现](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-03-18-interview-js-code\u002F)\n\n### ES6\n\n-   `[Promise]` [常用 API 概述](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-05-23-es-promise\u002F)\n-   `[Promise]` [手写 Promise 的相关方法](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-11-23-promise-methods\u002F)\n-   `[Promise]` [让我们再聊聊 Promise 的实现](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-11-25-promise-a-plus\u002F)\n-   `[API]` [ES6 重难点整理](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-04-09-es6\u002F)\n\n### HTML5\n\n-   [canvas 学习和滤镜实现](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-08-20-canvas-beauty-filter\u002F)\n-   [canvas 离屏技术与放大镜实现](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-08-30-canvas-off-screen\u002F)\n-   [HTML5 原生拖放事件的学习与实践](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-04-10-html5-drag-drop\u002F)\n-   [FileAPI 文件操作实战](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-07-15-file-api\u002F)\n-   [websocket 学习和群聊实现](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-08-19-websocket-group-chat\u002F)\n-   [Service Worker 离线缓存实战](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-04-02-pwa-service-worker\u002F)\n\n### TypeScript\n\n-   [基础篇：TypeScript 用法与实战](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-08-27-typescript-notes\u002F)\n-   [实战篇：当 Typescript 遇上 Koa 的时候](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-08-27-koa-meet-typescript\u002F)\n\n### 浏览器\n\n-   [浏览器的常见考点](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-05-15-browser\u002F)\n-   [谈谈 promise\u002Fasync\u002Fawait 的执行顺序与 V8 引擎的 BUG](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-05-29-promise-async-await-order\u002F)\n\n### 第三方库开发\n\n-   [MathJax：让前端支持数学公式](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-10-03-js-mathjax\u002F)\n-   [moment.js 使用详解](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-08-21-momentjs\u002F)\n-   [axios 全局代理实战](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-04-16-axios\u002F)\n\n## Web 安全\n\n-   [面试中查考的 Web 安全问题](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-05-15-web-safety\u002F)\n-   [SSL 连接并非完全安全问题解决](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-08-26-ssl\u002F)\n\n## 云计算\n\n-   [Serverless 是什么？](https:\u002F\u002Fdongyuanxin.github.io\u002F2020-01-07-what-is-serverless\u002F)\n-   [Serverless 开发一款极简网页计数器](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-05-18-serverless-page-counter\u002F)\n-   [Serverless 开发：实时对战五子棋小游戏](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-08-14-game-gomoku\u002F)\n\n## CSS 精选\n\n-   [CSS3 盒模型：border-box](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-06-05-border-sizing\u002F)\n-   [Flex 快速上手](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-03-20-css3-flex\u002F)\n-   [你了解 css3 的 nth-child 吗](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-03-19-css3-nth-child\u002F)\n-   [scss：最常见的 css 预处理器](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-05-29-scss-fisrt-step\u002F)\n-   [scss 实现样式复用: 继承、占位符、混合宏](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-05-29-scss-more\u002F)\n-   `[翻译]` [逐步替换 Scss](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-05-17-why-i-stopped-using-sass\u002F)\n\n## 动画设计\n\n-   [CSS3·字体特效](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-07-16-font-animation\u002F)\n-   [CSS3·输入框特效](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-07-22-input-animation\u002F)\n-   [CSS3·按钮特效](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-07-24-button-animation\u002F)\n-   [CSS3·Loader 特效(基础)](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-07-25-loader-animation-first\u002F)\n-   [CSS3·Loader 特效(进阶)](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-07-26-loader-animation-second\u002F)\n\n## 多端开发\n\n-   `[微信端]` [微信网页登录逻辑与实现](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-04-15-wechat-h5-login\u002F)\n\n## 工具\n\n-   [**Webpack4**](https:\u002F\u002Fdongyuanxin.github.io\u002Fcategories\u002Fwebpack4系列教程\u002F)\n-   [**Git**](https:\u002F\u002Fdongyuanxin.github.io\u002Fcategories\u002Fgit%E7%AC%94%E8%AE%B0\u002F)\n\n## JavaScript 设计模式 [\\[more\\]](https:\u002F\u002Fdongyuanxin.github.io\u002Falgorithm\u002F#%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E6%89%8B%E5%86%8C)\n\n-   `[创建型]` [单例模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-10-23-singleton-pattern\u002F)\n-   `[创建型]` [抽象工厂模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-04-01-abstract-factory-pattern\u002F)\n-   `[结构型]` [享元模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-12-16-flyweight-pattern\u002F)\n-   `[结构型]` [代理模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-11-01-proxy-pattern\u002F)\n-   `[结构型]` [桥接模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-01-19-bridge-pattern\u002F)\n-   `[结构型]` [装饰者模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-01-12-decorator-pattern\u002F)\n-   `[行为型]` [备忘录模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-01-26-memento-pattern\u002F)\n-   `[行为型]` [模板模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-01-31-template-pattern\u002F)\n-   `[行为型]` [状态模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-01-16-state-pattern\u002F)\n-   `[行为型]` [订阅-发布模式](https:\u002F\u002Fdongyuanxin.github.io\u002F2018-11-18-publish-subscribe-pattern\u002F)\n\n## 剑指 Offer·JS 题解 [\\[more\\]](https:\u002F\u002Fdongyuanxin.github.io\u002Falgorithm\u002F#%E3%80%8A%E5%89%91%E6%8C%87-Offer%E3%80%8B-JavaScript-%E7%89%88%E8%AE%B2%E8%A7%A3)\n\n-   `[数组]` [二维数组中的查找](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-12-19-er-wei-shu-zu-cha-zhao\u002F)\n-   `[字符串]` [替换空格](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-12-19-ti-huan-kong-ge\u002F)\n-   `[链表]` [从尾到头打印链表](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-12-21-da-yin-lian-biao\u002F)\n-   `[二叉树]` [重建二叉树](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-12-21-re-construct-btree\u002F)\n-   `[堆栈]` [用两个栈(队列)实现队列(栈)](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-12-23-zhan-shi-xian-dui-lie\u002F)\n-   `[二进制]` [二进制中 1 的个数](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-12-31-number-of-one\u002F)\n-   `[数学]` [数值的整次方(四种解法)](https:\u002F\u002Fdongyuanxin.github.io\u002F2019-12-31-pow\u002F)\n","该项目是一个专注于Web开发与算法的学习笔记仓库，涵盖了从前端到后栈的广泛技术领域。核心内容包括但不限于NodeJS模块深度解析、Koa框架原理探讨、JavaScript及其ES6新特性详解等，并提供了丰富的实战案例如命令行工具开发、文件监听处理及简易区块链实现等。采用Vue构建网站界面，以清晰直观的方式展示知识体系。适合正在学习或希望深化理解Web技术栈尤其是NodeJS生态相关知识的开发者参考使用。",2,"2026-06-11 03:20:21","top_language"]