- 博客(61)
- 收藏
- 关注
原创 express和koa的区别
特性ExpressKoa设计理念简单易用,适合快速开发轻量、现代化,灵活性更高异步处理使用回调函数,支持 Promise 和 async/await完全支持 async/await中间件机制传统中间件机制,简单但庞大洋葱模型,增强中间件控制能力路由支持内置路由功能需要使用外部中间件(如 koa-router)错误处理通过 next(err) 传递错误直接使用 try/catch,优雅处理错误社区与生态社区活跃,有丰富的插件社区相对小,但在快速发展性能。
2024-10-06 20:38:30 909
原创 什么是 Koa?
Koa 是一个轻量级、高效的 Node.js 框架,通过中间件机制来构建 Web 应用或 API。它支持现代 JavaScript 特性,如,使得异步代码编写更加简洁。由于 Koa 不自带很多功能模块,开发者可以自由选择和组合中间件来完成具体功能,使得 Koa 拥有很高的灵活性。Koa 适合需要更多灵活控制、现代化 JavaScript 开发的场景,例如高并发的 API 服务。
2024-10-06 20:08:14 837
原创 在 Koa 中,中间件函数的参数ctx是什么?
ctx是 Koa 中用来在请求和响应之间传递信息的对象。通过它,开发者可以很方便地访问请求的各类信息并设置响应。
2024-10-06 19:55:40 295
原创 css3-----2D转换、动画
转换transform 我们简单理解就是变形 有2D 和 3D 之分 我们暂且学了三个 分别是 位移 旋转 和 缩放 2D 移动 translate(x, y) 最大的优势是不影响其他盒子, 里面参数用%,是相对于自身宽度和高度来计算的 可以分开写比如 translateX(x) 和 translateY(y) 2D 旋转 rotate(度数) 可以实现旋转元素 度数的单位是deg 2D 缩放 sacle(x,y) 里面参数是数字 不跟单位 可以是小数 最大的优势 不影响其他盒子。
2024-10-01 16:29:37 801
原创 浏览器预解析机制
虽然预解析线程可以提前下载资源,但不会执行 JavaScript,它只负责提前获取文件,以减少主线程在解析到这些资源时的等待时间。虽然预解析线程帮助提前下载外部资源,确实提高了效率,但。
2024-10-01 16:17:47 422
原创 外部引入的 JavaScript 放置位置
最佳实践是将外部 JavaScript 文件放在<body>底部,以确保页面内容快速加载,避免阻塞 HTML 解析。如果希望放在<head>中,可以使用 defer属性来确保 JavaScript 不阻塞页面加载,同时保证脚本在 DOM 完全解析后才执行。使用 async属性适合不依赖 DOM 或其他脚本的独立脚本,能够进一步优化页面加载性能。
2024-10-01 15:47:26 643
原创 vue的基本原理
响应式系统确保数据变化自动更新视图。虚拟 DOM通过高效的 diff 算法,提升了 DOM 操作性能。模板编译把模板编译成渲染函数,生成虚拟 DOM。组件化系统提供了模块化开发,支持父子组件通信、生命周期管理等。指令系统提供了简洁的模板语法,实现数据和视图的绑定。生命周期钩子允许开发者在不同阶段执行自定义逻辑。
2024-09-19 11:07:45 815
原创 vue框架和react框是什么,有什么区别和共性吗?
Vue是一个渐进式JavaScript框架,主要用于构建用户界面。它遵循MVVM(Model-View-ViewModel)模式,通过数据绑定和组合的视图组件来实现响应式的数据渲染。组件化:Vue鼓励通过可复用的组件来构建应用,这有助于保持代码的模块化和可维护性。指令系统:Vue提供了一套丰富的指令(如v-bind、v-model、v-if等),这些指令可以方便地操作DOM,实现数据的双向绑定和条件渲染等功能。插件化。
2024-09-16 16:16:08 274
原创 数据大屏的适配问题,为什么选择scale,优点是什么?为什么不选择其他的方法?
选择scale作为数据大屏的适配方式,是因为它能够高效、简单地保证所有页面内容按比例缩放,且保持设计的一致性,特别适合需要展示大量图表、文字以及动态内容的场景。相比其他方法,scale在保持页面比例和快速适配方面具有明显的优势,而其他方法要么维护成本高、要么适用性较低,无法应对复杂的大屏展示需求。
2024-09-11 15:05:53 709
原创 箭头函数跟普通函数的区别
箭头函数提供了更简洁的语法,并且在this绑定、构造函数以及arguments对象方面有不同的行为。它们适用于需要词法作用域的场景,如回调函数和事件处理程序。普通函数提供了传统的函数功能,能够动态绑定this,作为构造函数使用,并且支持arguments对象。适用于需要这些功能的场景。
2024-09-07 15:39:57 390
原创 map跟set的区别和共性
Map是键值对集合,适用于需要存储和操作键值对的场景,支持任何类型的键。Set是唯一值的集合,适用于需要保证值唯一的场景,主要存储单一类型的值。两者都有用于存储和操作数据的特性,但其用途和操作方式根据实际需求的不同而有所区别。
2024-09-06 22:27:03 439
原创 vue3和vue2的双向绑定原理
Vue 2使用来实现响应式数据,通过 getter 和 setter 机制拦截数据操作,结合数据绑定指令(如v-model)实现双向绑定。Vue 3使用Proxy来实现响应式系统,提供了更全面和高效的响应式能力。同时,v-model的实现也进行了改进,支持更多功能和自定义选项。Vue 3 的响应式系统和双向绑定机制在性能和灵活性上都有显著提升,使得 Vue 3 在处理复杂数据绑定和响应式逻辑时表现更加优秀。
2024-09-06 22:24:42 1024
原创 Vue2 中对数组进行操作时需要注意什么
在 Vue 2 中,对数组进行操作时,关键是确保操作能够被 Vue 的响应式系统检测到。使用 Vue 的响应式 API,如Vue.set或this.$set,可以确保数组的变化会被正确地反映到视图中。此外,避免直接修改数组的length属性或使用数组索引直接赋值,以确保视图的响应性。
2024-09-06 22:20:29 732
原创 Vue2 与 Vue3 的区别有哪些
Vue 3 在性能、功能、API 设计等方面相比 Vue 2 都有显著改进和优化。它提供了更高效的响应式系统、更灵活的组件逻辑管理、更强大的 TypeScript 支持等功能,使得开发者可以更高效地构建现代化的 Web 应用。
2024-09-06 22:14:43 916
原创 Vue 中 nextTick 的最主要作用是什么,为什么要有这个 API
nextTick是 Vue 提供的一个重要 API,用于在 DOM 更新完成后执行特定的逻辑。它解决了异步 DOM 更新带来的问题,使得代码可以在数据变化后正确地处理和访问 DOM,从而提高了 Vue 应用的稳定性和响应能力。
2024-09-06 22:14:18 630
原创 Flexbox
Flexbox(弹性布局)是 CSS3 的一套布局模式,用于在容器中分配空间并对齐内容,特别是当大小不确定或者容器的空间是动态的时。它非常适合处理复杂的布局要求,如响应式设计和中心对齐等。
2024-09-06 22:06:56 441
原创 http和https区别
HTTP(超文本传输协议)和 HTTPS(安全超文本传输协议)是用于在互联网上传输数据的协议。简而言之,HTTPS 提供了更高的安全性,保护用户的数据不被窃取或篡改,而 HTTP 则不提供这种保护。
2024-09-06 22:01:28 2093
原创 vue更新的细粒度
Vue 的细粒度更新通过响应式系统、虚拟 DOM 和异步更新机制,确保只更新那些真正需要更新的部分,从而大大提高了性能。了解和利用这些机制可以帮助你构建更加高效、响应迅速的 Vue 应用。
2024-08-18 16:01:15 547
原创 webpack中1个文件修改会全部更新吗
在开发模式下,Webpack 通过 HMR 只更新受影响的模块,不会更新整个应用。在生产模式下,Webpack 通过代码分割和缓存,只重新打包受影响的 chunk,而不重新打包整个项目。因此,Webpack 修改一个文件后并不会导致整个项目的所有文件都被重新更新或重新打包。它有很多优化手段来尽可能减少构建时间和输出文件的更新量。
2024-08-18 15:55:52 594
原创 webpack和vite分别是什么,优势
适合复杂、庞大的项目,尤其是需要复杂构建流程和高度定制化需求的场景。它的插件和 loader 生态系统非常强大,但需要较高的配置成本。
2024-08-18 15:51:51 664
原创 导致页面加载白屏时间长的原因有哪些,怎么进行优化?
白屏时间:即用户点击一个链接或打开浏览器输入URL地址后,从屏幕空白到显示第一个画面的时间。
2024-08-18 15:36:55 1041
原创 webpack打包后输入url第一个访问到的是什么
第一个访问到的资源:通常是 Webpack 打包生成的 HTML 文件。后续加载的资源:由 HTML 文件中引用的 JavaScript、CSS 和其他静态资源。
2024-08-18 15:25:17 839
原创 盒子模型
1. 盒子模型(Box Model)组成2.边框(border)表格的细线边框边框会影响盒子实际大小3.内边距(padding)内边距会影响盒子实际大小应用场景---导航栏(不设宽高度)4.外边距(margin)应用场景外边距合并1. 相邻块元素垂直外边距的合并2. 嵌套块元素垂直外边距的塌陷清除内外边距
2024-08-17 00:29:10 287
原创 文字、行内元素、行内块元素、块元素水平垂直居中
这些方法可以单独或组合使用,根据具体的元素类型和布局需求来选择最合适的方式。可以让它们在同一行中相对于基线垂直居中。
2024-08-12 21:55:39 233
原创 什么是虚拟DOM?如何实现一个虚拟DOM?
虚拟DOM(Virtual DOM)是一个轻量级的JavaScript对象,它表示DOM树的结构。虚拟DOM是对真实DOM的一种抽象表示,旨在提高页面的更新性能。通过对虚拟DOM进行操作,再将变化应用到真实DOM,框架可以最小化直接操作真实DOM的开销,从而提高性能。定义虚拟DOM节点的数据结构。编写渲染函数将虚拟DOM转化为真实DOM。实现diff算法比较新旧虚拟DOM树。应用diff结果更新真实DOM。通过上述步骤,可以实现一个简单的虚拟DOM系统,了解其基本原理和工作机制。
2024-08-01 18:56:53 370
原创 事件循环-
事件循环(Event Loop)是JavaScript运行时(例如浏览器或Node.js)的一种机制,用于处理异步编程。它允许非阻塞操作,即使在某些任务需要等待(如网络请求或定时器),JavaScript也可以继续执行其他代码。
2024-08-01 18:54:29 483
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人