<?xml version="1.0" encoding="utf-8"?>
<!--  RSS generated by phpcms.cn RSS Builder [2026-03-11 15:08:35]  --> 
<rss version="2.0" xmlns:im="http://purl.org/rss/1.0/item-images/" xmlns:dc="http://purl.org/dc/elements/1.1/" >
<channel>
<pubDate>Wed, 11 Mar 2026 15:08:35 +0800</pubDate>
<lastBuildDate>Wed, 11 Mar 2026 15:08:35 +0800</lastBuildDate>
<docs>https://www.zhoulujun.cn</docs>
<link>https://www.zhoulujun.cn</link>
<title>ECMAS</title>
<image>
<title>ECMAS</title>
<url><![CDATA[]]></url>
<link>https://www.zhoulujun.cn</link>
</image>
<webMaster>https://www.zhoulujun.cn</webMaster>
<generator>https://www.zhoulujun.cn</generator>
<ttl>60</ttl>
<dc:creator>https://www.zhoulujun.cn</dc:creator>
<dc:date>Wed, 11 Mar 2026 15:08:35 +0800</dc:date>
<item>
<title><![CDATA[对比react-beautiful-dnd,react-sortable-hoc,react-dnd,pragmatic-drag-and-drop]]></title>
<link><![CDATA[/html/webfront/ECMAScript/js/2025_0921_9639.html]]></link>
<description><![CDATA[就我个人而已，更加喜欢dnd-kit，因为现代化设计，灵活性第一。支持移动端，交互可以完全定制。但是，作为企业级的@atlaskit pragmatic-drag-and-drop（Atlassian 新一代拖拽方案，替代 react-beautiful-dnd）
]]></description>
<pubDate>2025-09-21 22:12:56</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/js/2025_0921_9639.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[typescript从类型推断到类型断言、类型守卫]]></title>
<link><![CDATA[/html/webfront/ECMAScript/typescript/2020_0212_9539.html]]></link>
<description><![CDATA[TS类型魔法类型推断：类型推断就是TypeScript会根据上下文自动帮我们推算出变量或方法的类型，比如：letflag;  推断为any类型断言：有些情   ]]></description>
<pubDate>2020-02-12 10:52:00</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/typescript/2020_0212_9539.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[react18/19渲染优化]]></title>
<link><![CDATA[/html/webfront/ECMAScript/jsBase/2025_0313_9518.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2025/03/thumb_150_150_20250313153642304129986.png border='0' /><br />草稿中&hellip;&hellip;&hellip;&hellip;&hellip;&hellip;参考文章：【React Hooks原理 - useTransition】 https:  blog csdn net weixin_44273311 article details 14071862   ]]></description>
<pubDate>2025-03-13 11:39:51</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/jsBase/2025_0313_9518.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[react19走起！无Signal，坚守不可变数据与单向数据流！]]></title>
<link><![CDATA[/html/webfront/ECMAScript/jsBase/2025_0303_9507.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2025/03/thumb_150_150_20250310181128853369076.png border='0' /><br />React推崇的是不可变数据和单向数据流，强调组件的纯函数特性，这样虽然可能在性能上有损耗，但代码更可预测，易于调试。​react坚守 不可变数据与单向数据流，核心在于 调试和并发渲染！
]]></description>
<pubDate>2025-03-03 09:40:57</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/jsBase/2025_0303_9507.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[Remix全栈框架React Router v7]]></title>
<link><![CDATA[/html/webfront/ECMAScript/jsBase/2025_0227_9499.html]]></link>
<description><![CDATA[React 18 引入了并发渲染（Concurrent Rendering），这一特性极大地提升了应用的性能和用户体验。然而，React 18 也带来了许多新的挑   ]]></description>
<pubDate>2025-02-27 09:32:40</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/jsBase/2025_0227_9499.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[nodejs后端PDF生成预研方案：DPF模板预填VS 浏览器DPF生成]]></title>
<link><![CDATA[/html/webfront/ECMAScript/JS-Server/9447.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2025/01/thumb_150_150_20250120160652766915889.png border='0' /><br />PDF后端生成有2种形式，分为模板生成：适合简单的表单内容DPF生成。只需要提前筹备模板，后端填数据即可优点：技术简单缺点：前端样式负责   ]]></description>
<pubDate>2025-01-20 16:00:28</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/JS-Server/9447.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[TypeScript泛型组件：react与Vue3]]></title>
<link><![CDATA[/html/webfront/ECMAScript/typescript/2024_1112_9331.html]]></link>
<description><![CDATA[<img src=https://www.zhoulujun.cn/uploadfile/images/2021/11/20211130154546574153143.jpg border='0' /><br />开头安利下《从java泛型来聊typescript泛型变量和泛型》泛型的本质是为了参数化类型：平时我们都是对值进行编程，泛型是对类型进行编程。设   ]]></description>
<pubDate>2024-11-12 11:51:38</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/typescript/2024_1112_9331.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[Node.js 常见调度器：]]></title>
<link><![CDATA[/html/webfront/ECMAScript/JS-Server/9317.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2024/11/thumb_150_150_20241101160131256424401.png border='0' /><br />上篇文章《通过node-cron实现nodejs实现定时任务 调度》讲过定时任务使用 systemd 和 cron的区别？以及nodejs如何通过node-cron实现任务   ]]></description>
<pubDate>2024-11-01 15:55:42</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/JS-Server/9317.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[通过node-cron实现nodejs实现定时任务/调度]]></title>
<link><![CDATA[/html/webfront/ECMAScript/JS-Server/9314.html]]></link>
<description><![CDATA[定时任务在 Linux 中，你可以使用 cron 或 systemd 来设置定时任务。定时任务允许你在预定的时间或周期性地执行脚本、命令或程序。sy   ]]></description>
<pubDate>2024-11-01 10:24:34</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/JS-Server/9314.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[React Query与SWR尚能饭否？React Query还真香！]]></title>
<link><![CDATA[/html/webfront/ECMAScript/jsBase/2024_1028_9311.html]]></link>
<description><![CDATA[按照来源，前端有两类「状态」需要管理：用户交互的中间状态、服务端状态。]]></description>
<pubDate>2024-10-28 18:45:33</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/jsBase/2024_1028_9311.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[node_modules黑洞]]></title>
<link><![CDATA[/html/webfront/ECMAScript/JS-Server/9297.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2024/10/thumb_150_150_20241023173136190776472.png border='0' /><br />Nodejs的包管理器可能是市面上所有编程语言中设计最混乱的一个。npm对包的管理是依赖于文件系统的，对重复依赖的复用优化设计不足。]]></description>
<pubDate>2024-10-23 17:24:36</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/JS-Server/9297.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[AJV(Another JSON Schema Validator)入门小结]]></title>
<link><![CDATA[/html/webfront/ECMAScript/JS-Server/9293.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2024/10/thumb_150_150_20241021181644608917531.png border='0' /><br />JSON Schema 的诞生背景源于对 JSON 数据格式的广泛采用及随之而来的需要验证 JSON 数据结构和内容的需求。AJV多级 嵌套JSON模式验证是一种用于验证JSON数据的工具。AJV多级 嵌套JSON模式验证的优势在于高性能与完备性]]></description>
<pubDate>2024-10-22 10:03:55</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/JS-Server/9293.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[Knex.js使用心得]]></title>
<link><![CDATA[/html/webfront/ECMAScript/JS-Server/9279.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2024/10/thumb_150_150_20241014163817565543147.png border='0' /><br />Knex 建立在底层数据库提供的 SDK 之上，提供统一的 API 数据库接口，方便在数据库之间迁移（如本地开发测试用 sqlite3，线上用MySQL），无需学习 SQL 方言。]]></description>
<pubDate>2024-10-14 15:53:04</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/JS-Server/9279.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[用原生EventTarget取代EventBus（mitt）可好？]]></title>
<link><![CDATA[/html/webfront/ECMAScript/js/2022_0923_9275.html]]></link>
<description><![CDATA[vue3取消了vue2里面的EventBUS，官方推进用mitt,但是如过只是的简单的时间通知，干脆直接用原生的EventTarget来做的]]></description>
<pubDate>2022-09-23 11:22:00</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/js/2022_0923_9275.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[npm时报错解决EPERM: operation not permitted, lstat 记录]]></title>
<link><![CDATA[/html/webfront/ECMAScript/nodejs/9271.html]]></link>
<description><![CDATA[遇到 ‘EPERM: operation not permitted’ ，什么以管理员什么运行 、vscode webstorm没意权限、文件权限设置、清除npm缓存 等等都不行]]></description>
<pubDate>2024-10-10 15:01:12</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/nodejs/9271.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[React性能优化：从再渲染触发条件到再渲染优化]]></title>
<link><![CDATA[/html/webfront/ECMAScript/jsBase/2024_0819_9230.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2024/08/thumb_150_150_20240819143430214270801.png border='0' /><br />在谈论 React 性能时，需要关注两个主要阶段：初始渲染、重新渲染。重新渲染主要分为两种情况：组件自身状态的变化与父级组件引起的重新渲染，重新渲染何时需要优化呢？]]></description>
<pubDate>2024-08-19 13:38:28</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/jsBase/2024_0819_9230.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[vue3中的memo/watchEffect和react中useEffect/useMemo看设计理念差异]]></title>
<link><![CDATA[/html/webfront/ECMAScript/vue3/9224.html]]></link>
<description><![CDATA[<img src=/uploadfile/images/2024/08/20240815105755339387435.png border='0' /><br />vue3里面的watchEffect watchPostEffect watchSyncEffect与v-memo，对比react的useEffect 与Memo useMemo 看一看]]></description>
<pubDate>2024-08-14 21:50:39</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/vue3/9224.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[Node监控性能优化结果学习笔记]]></title>
<link><![CDATA[/html/webfront/ECMAScript/JS-Server/9205.html]]></link>
<description><![CDATA[Node js自带了一些性能监测方法，process memoryUsage、os freemem()、os totalmem()，profile工具能直接生成报告，--inspect, 能直接查看运行概况。Easy-Monitor 与 Benchmark库，也是不错的！]]></description>
<pubDate>2022-08-24 14:16:00</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/JS-Server/9205.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[如何用JavaScript实现一个并发任务控制的任务调度器]]></title>
<link><![CDATA[/html/webfront/ECMAScript/js/2021_1230_9184.html]]></link>
<description><![CDATA[调度器是一种可以控制任务执行顺序的工具，通常用于异步任务的处理。比如前端ajax数据请求，我们需要做限流，就可以用到任务调度器。复杂动画方面就更加了。JavaScript如何实现任务调度器呢]]></description>
<pubDate>2021-12-30 11:28:00</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/js/2021_1230_9184.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
<item>
<title><![CDATA[SeaJS是如何做到就近依赖的伪同步效果的？]]></title>
<link><![CDATA[/html/webfront/ECMAScript/AMD/2019_1213_9175.html]]></link>
<description><![CDATA[require js和sea js都是在执行模块前预加载了依赖的模块，并没有比require js显得更“懒加载”，只是所依赖模块的代码执行时机不同。require js加载时执行，而sea js是使用时执行。]]></description>
<pubDate>2019-12-13 21:53:00</pubDate>
<guid><![CDATA[/html/webfront/ECMAScript/AMD/2019_1213_9175.html]]></guid>
<author>https://www.zhoulujun.cn</author>
</item>
</channel>
</rss>
