<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Wujie Li</title>
        <link>https://www.wujieli.com</link>
        <description>Wujie Li's blog</description>
        <lastBuildDate>Thu, 07 May 2026 12:16:10 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>Wujie Li</title>
            <url>https://www.wujieli.com/favicon.ico</url>
            <link>https://www.wujieli.com</link>
        </image>
        <copyright>All rights reserved Wujie Li 2026</copyright>
        <item>
            <title><![CDATA[初识 Vite+：一文了解 Rust 驱动的新一代前端工具链]]></title>
            <link>https://www.wujieli.com/blog/front/vite/vite-plus</link>
            <guid>https://www.wujieli.com/blog/front/vite/vite-plus</guid>
            <pubDate>Mon, 27 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[在日常的前端开发中，我们已经习惯了将一系列独立的工具拼凑在一起来构建项目：用 Webpack 或 Rollup 打包，用 Jest 测试，用 ESLint 检查...]]></description>
            <content:encoded><![CDATA[在日常的前端开发中，我们已经习惯了将一系列独立的工具拼凑在一起来构建项目：用 Webpack 或 Rollup 打包，用 Jest 测试，用 ESLint 检查...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[Yarn 安装耗时过长与偶发性 MODULE_NOT_FOUND]]></title>
            <link>https://www.wujieli.com/blog/front/engineering/debug-yarn-ci</link>
            <guid>https://www.wujieli.com/blog/front/engineering/debug-yarn-ci</guid>
            <pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[问题背景 最近，我的一个 PC 项目在线上 CI/CD 环境中遇到了两个棘手的问题： 构建速度极慢：本地构建（）只需要不到 5 分钟，但在线上环境却需要近 20...]]></description>
            <content:encoded><![CDATA[问题背景 最近，我的一个 PC 项目在线上 CI/CD 环境中遇到了两个棘手的问题： 构建速度极慢：本地构建（）只需要不到 5 分钟，但在线上环境却需要近 20...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[redux 中间件解码：扩展 redux 功能的秘密]]></title>
            <link>https://www.wujieli.com/blog/front/engineering/redux/redux-principle3-middleware</link>
            <guid>https://www.wujieli.com/blog/front/engineering/redux/redux-principle3-middleware</guid>
            <pubDate>Fri, 27 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[在上一篇文章中，介绍了 redux、react-redux 和 redux-toolkit 的核心实现原理，这篇文章我们继续分析 redux 的另一个特性：中间...]]></description>
            <content:encoded><![CDATA[在上一篇文章中，介绍了 redux、react-redux 和 redux-toolkit 的核心实现原理，这篇文章我们继续分析 redux 的另一个特性：中间...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[redux 原理探秘：从 redux 到 react-redux 和 redux-toolkit]]></title>
            <link>https://www.wujieli.com/blog/front/engineering/redux/redux-principle2-toolbox</link>
            <guid>https://www.wujieli.com/blog/front/engineering/redux/redux-principle2-toolbox</guid>
            <pubDate>Sat, 21 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[在上一篇文章中介绍了 redux 和核心概念、核心原则和相关技术栈架构，下面这篇文章我们开始深入研究 redux 和相关工具 react-redux、redux...]]></description>
            <content:encoded><![CDATA[在上一篇文章中介绍了 redux 和核心概念、核心原则和相关技术栈架构，下面这篇文章我们开始深入研究 redux 和相关工具 react-redux、redux...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[探索 redux：状态管理的艺术]]></title>
            <link>https://www.wujieli.com/blog/front/engineering/redux/redux-principle1-overview</link>
            <guid>https://www.wujieli.com/blog/front/engineering/redux/redux-principle1-overview</guid>
            <pubDate>Tue, 17 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[redux 的核心概念与原则 要理解 redux，首先要理解 redux 中的几个核心概念：Store、Action、Reducer 和 Component S...]]></description>
            <content:encoded><![CDATA[redux 的核心概念与原则 要理解 redux，首先要理解 redux 中的几个核心概念：Store、Action、Reducer 和 Component S...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[从 react 目录看 react 核心包结构]]></title>
            <link>https://www.wujieli.com/blog/front/react/react-principle-core-package-structure</link>
            <guid>https://www.wujieli.com/blog/front/react/react-principle-core-package-structure</guid>
            <pubDate>Wed, 13 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[核心包结构 react 项目采用的是 Monorepo 的项目结构，packages 目录下有 35 个目录，但对于核心原理的了解，实际只有 4 个包，分别是...]]></description>
            <content:encoded><![CDATA[核心包结构 react 项目采用的是 Monorepo 的项目结构，packages 目录下有 35 个目录，但对于核心原理的了解，实际只有 4 个包，分别是...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[初识 react 原理，createElement 方法做了什么]]></title>
            <link>https://www.wujieli.com/blog/front/react/react-principle-createElement</link>
            <guid>https://www.wujieli.com/blog/front/react/react-principle-createElement</guid>
            <pubDate>Tue, 05 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[基础介绍 我们在使用 react 的时候，编写的都是 jsx 语法 在编译阶段，上面的 jsx 代码会被 Babel 的 插件转化为 的形式 下面我们就来具体分...]]></description>
            <content:encoded><![CDATA[基础介绍 我们在使用 react 的时候，编写的都是 jsx 语法 在编译阶段，上面的 jsx 代码会被 Babel 的 插件转化为 的形式 下面我们就来具体分...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[关于独立开发沉思录项目的思考]]></title>
            <link>https://www.wujieli.com/blog/projects/hack-thinking</link>
            <guid>https://www.wujieli.com/blog/projects/hack-thinking</guid>
            <pubDate>Sat, 29 Jun 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[为什么会开始写周刊，又为什么停止了更新]]></description>
            <content:encoded><![CDATA[为什么会开始写周刊，又为什么停止了更新]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[关于即刻导出项目的思考]]></title>
            <link>https://www.wujieli.com/blog/projects/jike-export</link>
            <guid>https://www.wujieli.com/blog/projects/jike-export</guid>
            <pubDate>Wed, 08 May 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[一个 chrome 插件，核心功能是导出即刻动态和收藏为本地文件]]></description>
            <content:encoded><![CDATA[一个 chrome 插件，核心功能是导出即刻动态和收藏为本地文件]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[《赡养人类》：可能是真的“末世预言”]]></title>
            <link>https://www.wujieli.com/blog/reading/the-wages-of-humanity</link>
            <guid>https://www.wujieli.com/blog/reading/the-wages-of-humanity</guid>
            <pubDate>Sun, 14 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[大刘的短篇科幻小说，不到一小时就能读完，但是看完久久不能平复，很像“末世预言” 故事开始于一个叫“滑膛”的顶级杀手，接到了一个特殊的任务。十三个世界上最富有的人...]]></description>
            <content:encoded><![CDATA[大刘的短篇科幻小说，不到一小时就能读完，但是看完久久不能平复，很像“末世预言” 故事开始于一个叫“滑膛”的顶级杀手，接到了一个特殊的任务。十三个世界上最富有的人...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[重启，真的有用吗？]]></title>
            <link>https://www.wujieli.com/blog/personal/reboot-does-it-really-work</link>
            <guid>https://www.wujieli.com/blog/personal/reboot-does-it-really-work</guid>
            <pubDate>Fri, 13 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Gap Year、人生重启计划、开始一个新的产品、换一个新的 笔记 / 代办 / 日程管理 app，重启似乎有一种魔力，似乎只要重启就可以修复现在的一切问题。但...]]></description>
            <content:encoded><![CDATA[Gap Year、人生重启计划、开始一个新的产品、换一个新的 笔记 / 代办 / 日程管理 app，重启似乎有一种魔力，似乎只要重启就可以修复现在的一切问题。但...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[人生原则三：极简主义]]></title>
            <link>https://www.wujieli.com/blog/personal/life-principle-minimalism</link>
            <guid>https://www.wujieli.com/blog/personal/life-principle-minimalism</guid>
            <pubDate>Sat, 07 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[第三个想要坚持的原则是：极简主义 我从 2021 年开始接触极简主义，自诩是一个极简主义者，但经过最近的思考来看，陷入了非常多的误区，这也让我重新开始审视极简主...]]></description>
            <content:encoded><![CDATA[第三个想要坚持的原则是：极简主义 我从 2021 年开始接触极简主义，自诩是一个极简主义者，但经过最近的思考来看，陷入了非常多的误区，这也让我重新开始审视极简主...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[人生原则二：诚实]]></title>
            <link>https://www.wujieli.com/blog/personal/life-principle-honest</link>
            <guid>https://www.wujieli.com/blog/personal/life-principle-honest</guid>
            <pubDate>Fri, 06 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[第二个想要坚持的原则是：诚实 诚实是小学思想品德课的一个重要品质，从小就被教育要诚实的我，为什么会想要把诚实作为自己的第二个原则？ 有关诚实的误区 第一个误区便...]]></description>
            <content:encoded><![CDATA[第二个想要坚持的原则是：诚实 诚实是小学思想品德课的一个重要品质，从小就被教育要诚实的我，为什么会想要把诚实作为自己的第二个原则？ 有关诚实的误区 第一个误区便...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[人生原则一：长期主义]]></title>
            <link>https://www.wujieli.com/blog/personal/life-principle-long-term</link>
            <guid>https://www.wujieli.com/blog/personal/life-principle-long-term</guid>
            <pubDate>Tue, 03 Oct 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[一篇和技术无关的博客，想要记录下来自己近期的一些思考和希望自己未来能够坚持的原则，毕竟未来是很长的道路，我需要制定一些基础规则，保证自己不会偏向航道 第一个想要...]]></description>
            <content:encoded><![CDATA[一篇和技术无关的博客，想要记录下来自己近期的一些思考和希望自己未来能够坚持的原则，毕竟未来是很长的道路，我需要制定一些基础规则，保证自己不会偏向航道 第一个想要...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[即时代码热更新，vite 热更新背后的原理]]></title>
            <link>https://www.wujieli.com/blog/front/vite/vite-principle5-hmr</link>
            <guid>https://www.wujieli.com/blog/front/vite/vite-principle5-hmr</guid>
            <pubDate>Sun, 06 Aug 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[vite 热更新的主要作用是为了实现局部刷新的效果，这样之前操作的状态都能够保存 vite 热更新的基本实现方式如下 基于一套完整的 ESM HMR 规范，在文...]]></description>
            <content:encoded><![CDATA[vite 热更新的主要作用是为了实现局部刷新的效果，这样之前操作的状态都能够保存 vite 热更新的基本实现方式如下 基于一套完整的 ESM HMR 规范，在文...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[双引擎的基础, vite 在 dev 的插件机制]]></title>
            <link>https://www.wujieli.com/blog/front/vite/vite-principle4-dev-plugin</link>
            <guid>https://www.wujieli.com/blog/front/vite/vite-principle4-dev-plugin</guid>
            <pubDate>Thu, 03 Aug 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[我们都知道，vite 在开发时使用的是 esbuild 作为依赖预构建和 ts、jsx 文件转译工具，通过浏览器的 ESM 加载，而在生产打包时使用的是 Rol...]]></description>
            <content:encoded><![CDATA[我们都知道，vite 在开发时使用的是 esbuild 作为依赖预构建和 ts、jsx 文件转译工具，通过浏览器的 ESM 加载，而在生产打包时使用的是 Rol...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[秒启动的基石，vite 依赖预构建的原理]]></title>
            <link>https://www.wujieli.com/blog/front/vite/vite-principle3-vite-optimizeDeps</link>
            <guid>https://www.wujieli.com/blog/front/vite/vite-principle3-vite-optimizeDeps</guid>
            <pubDate>Sun, 30 Jul 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[vite 在开发环境能够做到秒启动的原因有两个 No Bundle：即跳过打包，通过浏览器 ESModule 解析源文件 依赖预构建：将常用依赖提前编译和处理，...]]></description>
            <content:encoded><![CDATA[vite 在开发环境能够做到秒启动的原因有两个 No Bundle：即跳过打包，通过浏览器 ESModule 解析源文件 依赖预构建：将常用依赖提前编译和处理，...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[深入 vite 原理，vite 是如何解析配置文件的]]></title>
            <link>https://www.wujieli.com/blog/front/vite/vite-principle2-resolve-config</link>
            <guid>https://www.wujieli.com/blog/front/vite/vite-principle2-resolve-config</guid>
            <pubDate>Sun, 23 Jul 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[在上一篇文章介绍了在开发环境启动 vite 的整体实现过程，其中第一步配置文件解析是最为重要的部分，下面展开讲讲 vite 解析配置文件的实现原理 配置文件解析...]]></description>
            <content:encoded><![CDATA[在上一篇文章介绍了在开发环境启动 vite 的整体实现过程，其中第一步配置文件解析是最为重要的部分，下面展开讲讲 vite 解析配置文件的实现原理 配置文件解析...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[初识 vite 原理，vite 是如何启动项目的]]></title>
            <link>https://www.wujieli.com/blog/front/vite/vite-principle1-start-vite-project</link>
            <guid>https://www.wujieli.com/blog/front/vite/vite-principle1-start-vite-project</guid>
            <pubDate>Sat, 22 Jul 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[我们使用 vite 的时候，只需要在 package.json 中定义一个简单的命令，就可以启动项目，那么这个简单的命令，是如何启动 vite 项目的呢，下面我...]]></description>
            <content:encoded><![CDATA[我们使用 vite 的时候，只需要在 package.json 中定义一个简单的命令，就可以启动项目，那么这个简单的命令，是如何启动 vite 项目的呢，下面我...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[拒绝复杂 if-else，前端策略模式实践]]></title>
            <link>https://www.wujieli.com/blog/front/javascript/front-end-strategy-pattern-practice</link>
            <guid>https://www.wujieli.com/blog/front/javascript/front-end-strategy-pattern-practice</guid>
            <pubDate>Sun, 16 Jul 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[设计模式的重要性 为什么要学习和使用设计模式，我觉得原因主要有两点 解除耦合：设计模式的目的就是把 “不变的” 和 “可变的” 分离开，将 “不变的” 封装为统...]]></description>
            <content:encoded><![CDATA[设计模式的重要性 为什么要学习和使用设计模式，我觉得原因主要有两点 解除耦合：设计模式的目的就是把 “不变的” 和 “可变的” 分离开，将 “不变的” 封装为统...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[vue Router 4源码解析2：url 如何跳转]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-router-principle2-parse-url</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-router-principle2-parse-url</guid>
            <pubDate>Sun, 14 May 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[在上一篇文章我介绍了如何创建路由，下面我们来分析当输入一个 url 时，如何通过路由跳转到对应页面 基础概念介绍 先介绍一下浏览器的 window.locati...]]></description>
            <content:encoded><![CDATA[在上一篇文章我介绍了如何创建路由，下面我们来分析当输入一个 url 时，如何通过路由跳转到对应页面 基础概念介绍 先介绍一下浏览器的 window.locati...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[vue Router 4源码解析：如何创建路由]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-router-principle1-create-router</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-router-principle1-create-router</guid>
            <pubDate>Sat, 29 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Vue Router 基础使用 在 vue3 项目中使用 vue router，我们通常会在 /src/router 目录下定义 router 相关参数，然后在...]]></description>
            <content:encoded><![CDATA[Vue Router 基础使用 在 vue3 项目中使用 vue router，我们通常会在 /src/router 目录下定义 router 相关参数，然后在...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[pinia 源码实现解析]]></title>
            <link>https://www.wujieli.com/blog/front/vue/pinia-principle</link>
            <guid>https://www.wujieli.com/blog/front/vue/pinia-principle</guid>
            <pubDate>Sat, 22 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[基础介绍 pinia 是一个同时支持 Vue2 / Vue3 的状态管理工具，相比于 vuex，pinia 有三个优点 简化概念，只保留 state、gette...]]></description>
            <content:encoded><![CDATA[基础介绍 pinia 是一个同时支持 Vue2 / Vue3 的状态管理工具，相比于 vuex，pinia 有三个优点 简化概念，只保留 state、gette...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[vue3 源码学习：reactive 响应式原理]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-principle-reactive</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-principle-reactive</guid>
            <pubDate>Sat, 15 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[reactive 功能介绍 根据官方的推荐，reactive 通常用于创建响应式对象或者数组，本质上是对原始对象的代理，所以响应式对象和原始对象是不相等的 但是...]]></description>
            <content:encoded><![CDATA[reactive 功能介绍 根据官方的推荐，reactive 通常用于创建响应式对象或者数组，本质上是对原始对象的代理，所以响应式对象和原始对象是不相等的 但是...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[拒绝卡顿，element select 组件虚拟滚动优化]]></title>
            <link>https://www.wujieli.com/blog/front/performance/select-virtual-scrolling-optimize</link>
            <guid>https://www.wujieli.com/blog/front/performance/select-virtual-scrolling-optimize</guid>
            <pubDate>Sun, 09 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[不知道大家在开发过程中有没有遇到这样一个场景，后端接口一次性返回上千条数据（比如国家地区），接口不支持分页，不能筛选，只能前端自己通过 select 组件全量渲...]]></description>
            <content:encoded><![CDATA[不知道大家在开发过程中有没有遇到这样一个场景，后端接口一次性返回上千条数据（比如国家地区），接口不支持分页，不能筛选，只能前端自己通过 select 组件全量渲...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[vue3 源码学习：组件更新过程]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-principle-component-update-process</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-principle-component-update-process</guid>
            <pubDate>Sat, 08 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[在前一篇文章中，我介绍了 vue3 中组件初次渲染为 DOM 元素的过程，下面介绍一下当组件发生变化时，vue3 更新组件的过程 组件类型的 vnode 挂载的...]]></description>
            <content:encoded><![CDATA[在前一篇文章中，我介绍了 vue3 中组件初次渲染为 DOM 元素的过程，下面介绍一下当组件发生变化时，vue3 更新组件的过程 组件类型的 vnode 挂载的...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[vue3 源码学习：组件挂载为DOM过程]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-principle-component-mount-process</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-principle-component-mount-process</guid>
            <pubDate>Wed, 05 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[基础使用 vue3 使用 这个方法来创建并挂载组件，我们在 main 文件中引入 APP 根组件，通过 函数的 方法将根组件挂载到 id 为 这个节点下面 所以...]]></description>
            <content:encoded><![CDATA[基础使用 vue3 使用 这个方法来创建并挂载组件，我们在 main 文件中引入 APP 根组件，通过 函数的 方法将根组件挂载到 id 为 这个节点下面 所以...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[vue3 源码学习：ref 模板引用原理]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-principle-template-ref</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-principle-template-ref</guid>
            <pubDate>Sun, 02 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[ref 模板引用功能简介 根据官网的描述， 是一个特殊的 attribute，当一个 DOM 元素或者子组件实例被挂在后，能够直接获取到挂载元素的属性或者方法...]]></description>
            <content:encoded><![CDATA[ref 模板引用功能简介 根据官网的描述， 是一个特殊的 attribute，当一个 DOM 元素或者子组件实例被挂在后，能够直接获取到挂载元素的属性或者方法...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[我的 2023 年总结：普通且忙碌]]></title>
            <link>https://www.wujieli.com/blog/personal/2022-annual-summary</link>
            <guid>https://www.wujieli.com/blog/personal/2022-annual-summary</guid>
            <pubDate>Fri, 20 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[我觉得今年的关键字可以用：普通、忙碌两个词来总结。普通是源于年中跳槽成功但也遗憾错过了很多很好的机会，忙碌则是技术工作的常态 关于工作 今年年中跳槽到了新的公司...]]></description>
            <content:encoded><![CDATA[我觉得今年的关键字可以用：普通、忙碌两个词来总结。普通是源于年中跳槽成功但也遗憾错过了很多很好的机会，忙碌则是技术工作的常态 关于工作 今年年中跳槽到了新的公司...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[git 协作工作流方案]]></title>
            <link>https://www.wujieli.com/blog/front/engineering/git-collaborative-workflow</link>
            <guid>https://www.wujieli.com/blog/front/engineering/git-collaborative-workflow</guid>
            <pubDate>Sun, 06 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[团队协作开发过程中，git 必不可少，由于我之前使用的都是 SVN 作为代码管理工具，所以在切换成 git 的分布式版本管理工具之后，多少还是需要习惯的过程。另...]]></description>
            <content:encoded><![CDATA[团队协作开发过程中，git 必不可少，由于我之前使用的都是 SVN 作为代码管理工具，所以在切换成 git 的分布式版本管理工具之后，多少还是需要习惯的过程。另...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[vue 项目优雅的对 url 参数加密]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-url-parameter-encryption</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-url-parameter-encryption</guid>
            <pubDate>Tue, 25 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[实现方案：stringifyQuery 和 parseQuery 近期因为公司内部的安全检查，说我们现在的系统中参数是明文的，包括给后端请求的参数和前端页面跳转...]]></description>
            <content:encoded><![CDATA[实现方案：stringifyQuery 和 parseQuery 近期因为公司内部的安全检查，说我们现在的系统中参数是明文的，包括给后端请求的参数和前端页面跳转...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[PC 端响应式布局方案]]></title>
            <link>https://www.wujieli.com/blog/front/css/pc-responsive-layout-solution</link>
            <guid>https://www.wujieli.com/blog/front/css/pc-responsive-layout-solution</guid>
            <pubDate>Sun, 16 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[最近在工作中做了一些响应式布局的功能和可视化大屏的开发，所以这里我也整理一下用到的响应式布局方案作为未来项目开发的参考方案 常用实现方案 flex 布局 fle...]]></description>
            <content:encoded><![CDATA[最近在工作中做了一些响应式布局的功能和可视化大屏的开发，所以这里我也整理一下用到的响应式布局方案作为未来项目开发的参考方案 常用实现方案 flex 布局 fle...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[浅谈前端性能优化：图片懒加载]]></title>
            <link>https://www.wujieli.com/blog/front/performance/front-performance-lazy-loading-images</link>
            <guid>https://www.wujieli.com/blog/front/performance/front-performance-lazy-loading-images</guid>
            <pubDate>Sun, 25 Sep 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[图片懒加载基本原理 所谓图片懒加载，就是需要展示图片的时候再加载，当图片没有进入我们的视觉范围内的时候，图片还没有加载，只用一个占位符或者 loading 图片...]]></description>
            <content:encoded><![CDATA[图片懒加载基本原理 所谓图片懒加载，就是需要展示图片的时候再加载，当图片没有进入我们的视觉范围内的时候，图片还没有加载，只用一个占位符或者 loading 图片...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[因为懒，我写了个同步 cookie 的插件]]></title>
            <link>https://www.wujieli.com/blog/front/develop/cookie-synchronization-extension</link>
            <guid>https://www.wujieli.com/blog/front/develop/cookie-synchronization-extension</guid>
            <pubDate>Wed, 14 Sep 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[为什么需要同步 cookie 的需求？ 因为我们公司统一登录、统一认证体系实现方式是通过在公司域名下的 cookie 注入 acces_token 等内容，然后...]]></description>
            <content:encoded><![CDATA[为什么需要同步 cookie 的需求？ 因为我们公司统一登录、统一认证体系实现方式是通过在公司域名下的 cookie 注入 acces_token 等内容，然后...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[开发环境升级 Vite 踩坑总结]]></title>
            <link>https://www.wujieli.com/blog/front/vite/develop-upgrade-vite-step</link>
            <guid>https://www.wujieli.com/blog/front/vite/develop-upgrade-vite-step</guid>
            <pubDate>Sun, 21 Aug 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[为什么选择迁移 vite 最主要原因就是本地开发启动速度快。在使用 vite 之前，特地先使用了 speed-measure-webpack-plugin 这个...]]></description>
            <content:encoded><![CDATA[为什么选择迁移 vite 最主要原因就是本地开发启动速度快。在使用 vite 之前，特地先使用了 speed-measure-webpack-plugin 这个...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[vue 中优雅的捕获 Promise 异常]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-promise-error-catch</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-promise-error-catch</guid>
            <pubDate>Sun, 07 Aug 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[最近接手的几个老的 Vue 项目对于请求都没有异常处理，研究了一些解决方案，正好借机梳理一下如何在 Vue 中更优雅的捕获 Promise 异常 常规的异常捕获...]]></description>
            <content:encoded><![CDATA[最近接手的几个老的 Vue 项目对于请求都没有异常处理，研究了一些解决方案，正好借机梳理一下如何在 Vue 中更优雅的捕获 Promise 异常 常规的异常捕获...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[Vue 中直接上手的性能优化方案]]></title>
            <link>https://www.wujieli.com/blog/front/vue/vue-performance-optimization</link>
            <guid>https://www.wujieli.com/blog/front/vue/vue-performance-optimization</guid>
            <pubDate>Sat, 30 Jul 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[最近使用 Vue 开发的过程中使用到一些对于性能有所提升的编码方式，所以特别梳理出来，可以作为后续 Vue 开发的编码规范使用 性能优化方案主要分为三类，下面就...]]></description>
            <content:encoded><![CDATA[最近使用 Vue 开发的过程中使用到一些对于性能有所提升的编码方式，所以特别梳理出来，可以作为后续 Vue 开发的编码规范使用 性能优化方案主要分为三类，下面就...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[前端代码整洁之道：lint 标准化]]></title>
            <link>https://www.wujieli.com/blog/front/engineering/clean-code-lint-standard</link>
            <guid>https://www.wujieli.com/blog/front/engineering/clean-code-lint-standard</guid>
            <pubDate>Tue, 19 Jul 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[在新公司的参与的第一个项目就是重构一个内部的管理平台，在第一次看源码的时候就发现各类编码风格都有，已经有着往“屎山”发展的趋势了，所以想着对项目进行编码规范和编...]]></description>
            <content:encoded><![CDATA[在新公司的参与的第一个项目就是重构一个内部的管理平台，在第一次看源码的时候就发现各类编码风格都有，已经有着往“屎山”发展的趋势了，所以想着对项目进行编码规范和编...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[浅谈前端性能优化：节流和防抖]]></title>
            <link>https://www.wujieli.com/blog/front/performance/front-performance-debounce-throttle</link>
            <guid>https://www.wujieli.com/blog/front/performance/front-performance-debounce-throttle</guid>
            <pubDate>Thu, 14 Jul 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[什么是节流和防抖 防抖，顾名思义，就是防止异常情况下的抖动，假设你在给女朋友挑礼物的时候，生怕女朋友不满意，不断的在搜索框里改变着想要购买的礼物，这时候不但你很...]]></description>
            <content:encoded><![CDATA[什么是节流和防抖 防抖，顾名思义，就是防止异常情况下的抖动，假设你在给女朋友挑礼物的时候，生怕女朋友不满意，不断的在搜索框里改变着想要购买的礼物，这时候不但你很...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[我的 2022 年中复盘：正式成为前端仔]]></title>
            <link>https://www.wujieli.com/blog/personal/2022-half-yearly-summary</link>
            <guid>https://www.wujieli.com/blog/personal/2022-half-yearly-summary</guid>
            <pubDate>Sun, 10 Jul 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[关于工作 我是在保险公司工作的程序员，之前做过的项目相对比较简单，或者是采购的产品再定制化开发，而今年算是独立负责了一个部门重点项目，熬了几个月也算是项目正常上...]]></description>
            <content:encoded><![CDATA[关于工作 我是在保险公司工作的程序员，之前做过的项目相对比较简单，或者是采购的产品再定制化开发，而今年算是独立负责了一个部门重点项目，熬了几个月也算是项目正常上...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[个人网站如何白嫖 HTTPS]]></title>
            <link>https://www.wujieli.com/blog/front/develop/personal-website-for-free-https</link>
            <guid>https://www.wujieli.com/blog/front/develop/personal-website-for-free-https</guid>
            <pubDate>Tue, 05 Jul 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[什么是 HTTPS 总所周知，HTTP 协议主要用于客户端和服务端的通信，但它本身也有一定缺点 明文传输，内容可能被监听 不能验证通信方的身份，可能遭遇伪装 无...]]></description>
            <content:encoded><![CDATA[什么是 HTTPS 总所周知，HTTP 协议主要用于客户端和服务端的通信，但它本身也有一定缺点 明文传输，内容可能被监听 不能验证通信方的身份，可能遭遇伪装 无...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[JavaScript 继承实现方式]]></title>
            <link>https://www.wujieli.com/blog/front/javascript/inheritance-implementation</link>
            <guid>https://www.wujieli.com/blog/front/javascript/inheritance-implementation</guid>
            <pubDate>Fri, 24 Dec 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[原型链继承 将子类的原型对象指向父类的实例 优点：继承了父类的模板，又继承了父类的原型对象 缺点： 无法实现多继承(因为已经指定了原型对象了) 父类的所有 引用...]]></description>
            <content:encoded><![CDATA[原型链继承 将子类的原型对象指向父类的实例 优点：继承了父类的模板，又继承了父类的原型对象 缺点： 无法实现多继承(因为已经指定了原型对象了) 父类的所有 引用...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[什么是类数组]]></title>
            <link>https://www.wujieli.com/blog/front/javascript/what-is-an-array-like</link>
            <guid>https://www.wujieli.com/blog/front/javascript/what-is-an-array-like</guid>
            <pubDate>Fri, 24 Dec 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[对象是类数组常见情况 对象是类数组的情况 函数参数对象 arguments 用 获得的 HTMLCollection 用 获得的 NodeList 函数参数对象...]]></description>
            <content:encoded><![CDATA[对象是类数组常见情况 对象是类数组的情况 函数参数对象 arguments 用 获得的 HTMLCollection 用 获得的 NodeList 函数参数对象...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[JavaScript 数组方法总结]]></title>
            <link>https://www.wujieli.com/blog/front/javascript/array-method-summary</link>
            <guid>https://www.wujieli.com/blog/front/javascript/array-method-summary</guid>
            <pubDate>Thu, 23 Dec 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[数组基础操作 创建数组的方式有两种 - 添加数组 尾部添加： 头部添加： 直接添加： 指定索引位置添加： 删除数组 尾部删除： 头部删除： 指定索引位置删除：...]]></description>
            <content:encoded><![CDATA[数组基础操作 创建数组的方式有两种 - 添加数组 尾部添加： 头部添加： 直接添加： 指定索引位置添加： 删除数组 尾部删除： 头部删除： 指定索引位置删除：...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
        <item>
            <title><![CDATA[我的 2021 年总结]]></title>
            <link>https://www.wujieli.com/blog/personal/2021-annual-summary</link>
            <guid>https://www.wujieli.com/blog/personal/2021-annual-summary</guid>
            <pubDate>Wed, 22 Dec 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[关于工作 我是在保险公司工作的程序员，之前做过的项目相对比较简单，或者是采购的产品再定制化开发，而今年算是独立负责了一个部门重点项目，熬了几个月也算是项目正常上...]]></description>
            <content:encoded><![CDATA[关于工作 我是在保险公司工作的程序员，之前做过的项目相对比较简单，或者是采购的产品再定制化开发，而今年算是独立负责了一个部门重点项目，熬了几个月也算是项目正常上...]]></content:encoded>
            <author>wujieli0207@outlook.com (Wujie Li)</author>
        </item>
    </channel>
</rss>