- 博客(23)
- 收藏
- 关注
原创 《Express框架深度解析:从基础入门到高级实践与项目架构》
Express是一个轻量级Node.js Web框架,具有极简设计、高扩展性和丰富的中间件生态。它通过路由系统处理HTTP请求,支持模块化开发,可快速构建API或Web应用。核心特性包括:1)灵活的路由定义;2)中间件机制处理请求/响应流程;3)支持多种模板引擎;4)静态资源托管。典型项目采用分层结构(routes/controllers/models),适合快速原型开发、微服务API网关等场景。安装简单,只需npm install express即可开始开发,最新版本为5.0 beta。
2026-04-11 15:16:59
207
原创 Reudx与Vuex全面深度对比:从入门到实战,前端状态管理一次搞懂
在组件化开发的前端世界里,本质上就是驱动视图变化的数据。而和就是为了解决这些问题而生的,二者均基于 Flux 架构的「单向数据流」核心理念,分别是 React、Vue 生态中最主流的全局状态管理方案,帮我们把分散的全局状态收敛到统一的容器中管理,让数据变更可预测、可追踪、易维护。
2026-04-11 14:50:34
451
原创 前端项目部署方法与 GitHub Pages 上线实操
本文介绍了五种常见的前端项目部署方法:GitHub Pages(适合学生/静态项目)、Vercel(速度快但国内不稳定)、Netlify(简单免费)、阿里云/腾讯云(企业级稳定)和自建服务器(自由度高但复杂)。重点讲解了使用GitHub Pages部署的完整流程:1)配置项目路径;2)安装gh-pages工具;3)配置打包命令;4)执行部署。部署原理是通过npm run build生成dist静态文件,由gh-pages上传到GitHub服务器。文章还提供了常见问题解决方法,如页面空白、部署失败等,并说明更
2026-03-20 20:55:52
399
原创 React新手必看:5个最常用的Hooks,一片彻底搞懂
本文介绍了React中常用的Hooks及其核心用法。useState用于管理组件状态,强调状态更新是替换而非合并,需注意函数式更新;useEffect处理副作用逻辑,重点讲解了依赖数组的三种情况和闭包陷阱;useRef既可获取DOM元素,又能保存不触发渲染的值;useCallback和useMemo用于性能优化,但需避免滥用。文章还指出了常见错误示例和正确用法,帮助开发者掌握React Hooks的核心概念和应用场景。
2026-03-09 15:30:07
393
原创 Vuex代码仓库管理
本文介绍了Vuex在Vue2项目中的核心用法。主要内容包括:1) 通过Vuex.Store创建仓库,包含state、mutations、actions和getters四个核心模块;2) state存储共享数据,可通过$store.state或mapState访问;3) mutations是修改state的唯一途径,需通过commit调用;4) actions处理异步操作,通过dispatch触发;5) getters实现状态派生和计算;6) 模块化管理方案,通过modules分割不同功能模块,使用命名空间访
2026-01-26 12:13:59
570
原创 教育重构:逃离一致性,发明独特职业
曹德智的案例极具启发 —— 将童年记忆转化为三维微缩景观,这样融合情感、手艺与商业逻辑的独特职业,恰恰是 AI 无法复制的。他提出的 “接触多样人群、交付明确结果、对接真实世界” 的路径,为教育指明了新方向:与其追逐转瞬即逝的风口,不如培育孩子独一无二的竞争力。作为一名大三学生,“专业保质期不足三年”的问题曾反复困扰我,彻底击碎了我对 “热门专业” 的执念。这场演讲让我明白,1000 天后的教育,拼的不是分数与文凭,而是 “发明专属职业” 的创造力。守护自己的独特性,才是对抗未知的底气。
2026-01-08 20:43:29
129
原创 Vue2 插槽(Slot)全面讲解
Vue插槽是子组件预留的占位符,允许父组件动态插入内容,实现组件内容定制化。主要分为三类:1)默认插槽(匿名插槽),用于基本内容填充;2)具名插槽,通过name属性实现多位置内容分发;3)作用域插槽,通过v-slot接收子组件数据,实现父子组件数据交互。插槽机制解决了组件内容灵活定制的问题,使组件复用性更强,同时保持结构稳定性。
2025-12-28 16:49:45
520
原创 vue2 生命周期
Vue2组件化开发与生命周期详解 Vue2组件化是将页面拆分为独立、可复用的功能模块,通过组合组件构建完整页面,具有复用性、可维护性等优势。每个组件都经历"创建->挂载->更新->销毁"的生命周期,Vue在关键节点自动触发对应钩子函数: created阶段:初始化数据,发起不依赖DOM的请求 mounted阶段:操作DOM(初始化插件)、获取元素尺寸、绑定DOM事件 beforeDestroy阶段:清理定时器、解绑事件、销毁第三方库 特殊场景下,被<keep-al
2025-12-20 20:41:17
722
1
原创 JS 异步难题总结
Promise是异步编程的一种解决方案,能够解决回调地狱的问题pending: 初始化状态fulfilled: 操作成功rejected:操作失败只能从 pending 状态 到 fulfilled或者 rejected。状态一旦发生,就不会改变,具有不可逆性then()接收 fulfilled 状态的回调catch()接收rejected 状态的回调finally()无论成功或者失败都会执行;返回一个fulfilled 状态的 Promise;
2025-12-15 17:52:40
268
原创 Vue2组件通信全解析:父传子与子传父实战指南
methods: {// 触发自定义事件并传递数据<p>当前计数: {{ count }}</p>-- 监听子组件触发的事件 -->
2025-12-08 14:48:20
406
原创 字符串,数组,对象的常用方法
本文介绍了JavaScript中字符串、对象和数组的常用方法及实际应用。字符串方法包括slice()用于截取、indexOf()定位字符、replace()替换内容;对象方法如Object.keys()获取键名、hasOwnProperty()检查属性;数组方法map()转换元素、filter()筛选数据、reduce()聚合运算。每个方法都配有基础示例和实用场景,如日期格式化、表单验证、数据搜索等,帮助开发者高效处理常见编程任务。这些方法组合使用能显著提升JavaScript数据处理能力。
2025-11-29 13:40:15
721
原创 Set 和 Map 的使用
1,Set 的特点:不重复性,(里面的数据没有重复的值).:元素的遍历顺序 = 元素的添加顺序.:Set 是「值的集合」,不像对象有「键值对」结构,遍历直接获取元素本身.
2025-11-23 08:53:32
961
原创 await 的使用
ES6中的await用法详解 await是ES6异步编程的核心语法,必须配合async函数或在ES模块顶层使用。其功能是暂停async函数执行,等待Promise完成:成功时返回结果,失败时抛出异常需用try/catch捕获。典型使用场景包括: 处理单个异步请求(如API调用) 错误处理(结合try/catch) 并行异步操作(推荐Promise.all代替顺序await) 模块顶层初始化(直接加载配置资源) 注意事项: 不支持单独使用 顺序await会延长执行时间 模块环境需设置type="mo
2025-11-16 09:10:29
453
原创 prototype,constructor,__proto__讲解
prototype是函数独立拥有的属性(箭头函数除外,他没有 prototype 属性),被称为原型对象.当函数作为构造函数(通过 new 关键字创建实例时),构造函数的prototype 会成为所有实例的原型———实例会继承prototype 上的属性和方法.所有实例都可访问。promise 的指向问题。
2025-10-26 16:13:01
348
原创 JS防抖和节流
摘要:本文介绍了防抖和节流两种优化高频事件触发的技术。防抖通过延迟执行,确保函数只在事件停止触发后执行(如输入框搜索);节流则限制函数在一定时间间隔内只执行一次(如滚动事件)。两种方法都使用了闭包和定时器技术,能有效减少冗余执行,提升性能。文章详细说明了实现原理和代码示例,并推荐了lodash库的现成解决方案。适用于表单验证、窗口调整、滚动监听等场景,能显著改善用户体验。
2025-10-17 19:44:31
975
原创 ES6 小分享:class 语法,让面向对象编程更简单
ES6 class语法摘要 ES6引入的class语法是JavaScript面向对象编程的语法糖,简化了传统原型链写法。核心特点: 通过class关键字定义类,constructor方法初始化属性 方法直接定义在类内部,无需prototype绑定 使用extends实现继承,super()调用父类构造函数 static定义静态方法,通过类名直接调用 支持方法重写,子类同名方法覆盖父类方法 优势:代码结构更清晰,继承逻辑简化,更接近其他面向对象语言风格,适合创建可复用的组件和工具类。注意子类construct
2025-10-12 11:34:36
342
原创 Promise 入门:从回调问题到链式调用
Promise是解决JavaScript异步编程问题的核心工具,主要作用包括:1)通过链式调用解决回调地狱问题,使异步代码更易读;2)确保回调只执行一次,避免信任问题。Promise有三种不可逆状态:pending、fulfilled和rejected。基本语法包括创建Promise对象和使用then/catch/finally进行消费处理。Promise构造函数同步执行,then方法异步执行,状态一旦改变就固定不变。相比回调函数,Promise提供了更可靠的异步编程解决方案。
2025-10-04 20:40:28
896
原创 事件的冒泡与捕获机制
本文介绍了JavaScript事件流中的冒泡和捕获机制。冒泡是从目标元素向外层父元素传播(默认),捕获则是从外层向内层传播(需设置true)。两者主要区别在于传播方向:冒泡由内向外,捕获由外向内。通过stopPropagation()可阻止事件传播。文中还列举了支持冒泡/捕获的事件(如click、submit等)和不支持的事件(如focus、load等),并提供了代码示例说明如何使用这些机制及阻止传播的方法。
2025-09-27 10:40:03
623
原创 JS井字棋游戏悔棋功能部分
为第二个图标加上点击事件,判断格子中是否有棋子,如果没有会有页面警告,同时在点击是否要悔棋这个元素时,要是页面中无法操作页面,即继续添加棋子。其中historyStep为一个数组,并且该井字棋游戏是通过添加图片的形式来进行数据的存取,下面是介绍historyStep部分添加内容。确定悔棋的操作,需要删除数组中最后一个元素,使用historyStep.pop()方法,同时进行完删除操作后,页面可以继续添加棋子。下面定义了一些列字体图标的HTMl样式,其中第二个为悔棋的图标,大家只用看第二个。
2025-09-14 15:04:43
100
原创 html,css知识点总结
1. 伪类和伪元素的区别伪类:用于选择元素的特定状态,比如鼠标悬停(:hover)、元素获取焦点(:focus)等,它针对的是元素在不同交互状态下的样式设置。伪元素:用于创建不在 DOM 树中的虚拟元素,例如在元素前插入内容(::before)、在元素后插入内容(::after),它能为元素添加额外的装饰或内容。
2025-08-18 11:25:02
360
原创 创建新的JS HTML DOM 元素
在父元素中子元素最后一个位置进行添加 appendChild。替换已经存在的元素 replaceChild。删除已经存在的元素 removeChild。
2025-07-19 21:47:47
161
1
Vuex 管理的组件内容
2026-01-26
Vuex代码仓库管理中的一个 component 文件夹下 的一个组件的内容
2026-01-26
Vuex代码仓库管理中的一个 component 文件夹下 的一个组件的内容
2026-01-26
Vuex代码仓库管理中的一个 store 文件夹下 一个 model 文件
2026-01-26
Vuex代码仓库管理中的一个 store 文件夹下 一个 model 文件
2026-01-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅