- 博客(36)
- 收藏
- 关注
原创 前端面试-webpack篇
CompilerrunentryLoaderLoaderChunkChunkChunk通过以上步骤,Webpack 完成了从源代码到最终输出文件的整个构建过程。
2025-02-24 11:02:46
1092
原创 前端面试-网络协议篇
CDN(Content Delivery Network,内容分发网络)是一种分布式网络架构,旨在加速内容传输并提升用户体验。WebSocket 是一种基于TCP的通信协议,用于在客户端(如浏览器)和服务器之间实现全双工、低延迟的实时通信。
2025-02-22 20:22:42
1129
原创 CSS面试题
这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你参加为期14天的创作挑战赛!
2025-02-22 19:28:17
1163
原创 Vue面试2
虚拟DOM(Virtual DOM)是一种编程概念,它指的是在Web应用中,使用JavaScript对象来模拟真实的DOM树。每个虚拟DOM节点对应着真实DOM树中的一个元素。通过这种方式,可以有效地减少直接操作真实DOM的次数,从而提高性能。虚拟DOM的主要目的是优化用户界面的更新过程。当数据模型发生变化时,不是立即更新真实DOM,而是先更新虚拟DOM。然后通过比较新旧两个虚拟DOM树的差异(这个过程称为Diff算法),找出需要更新的部分,并将这些变化批量地应用到真实DOM上。这样做的好处是可以。
2025-02-21 11:01:43
722
原创 React+Vite项目框架
基于React + Vite 搭建的项目框架,使用ESLint 用于代码检查 、Prettier 用于代码格式化、Husky 用于 Git 钩子、lint-staged 用于暂存文件的检查、commitlint 用于提交信息规范等,实现了路由配置、状态管理、样式响应式设计、亮/暗主题切换等功能。做这个的主要目的就是想 如果之后用到可以拿来使用。
2024-12-21 15:47:19
587
原创 Vue3+Vite项目框架
最近基于Vue 3 + Vite搭建的一个笔记网站,使用了Router用于路由管理、Pinia用于状态管理、ESLint + Prettier用于代码规范和格式化、Husky用于Git hooks、lint-staged用于暂存文件检查、commitlint用于提交信息规范。实现了全局主题切换、多端适配等,同时注重性能优化、浏览器兼容等。做这个的主要目的就是想 如果之后用到可以拿来使用。
2024-12-21 15:40:40
245
原创 基于低代码框架的开发:Low-Code Engine+React
上一期分享了AMIS+React如何搭建项目框架的基本流程,但大家也能感觉到复杂,还需要自己写一堆代码来解包。那有没有那种低代码框架完全适合一个前端开发小白。只要我“组装”好页面后一键就能部署到本地,不用自己去解包啥的呢?答案是:有!还不止一个!今天就来分享阿里的低代码框架:Low-Code Engine。该框架可以实现一键打包出码,用户只需安装配置模块后便可启动项目。当然,该方法生成的项目会保留阿里的一些水印和loge,这些可手动删除。
2024-11-16 15:58:46
649
原创 基于低代码框架的开发:AMIS+React
上一期讲了如何在AMIS的编辑器中搭建页面,今天来讲讲如何在react项目中使用amis SDK对编辑器生成的json包解译。
2024-11-16 14:49:00
1094
原创 低代码开发
低代码是一种软件开发方法,它允许用户通过图形化界面和少量的编码来快速构建和交付应用程序。低代码平台通过提供一系列工具和组件,使开发过程更加高效,减少了对传统编程技能的依赖。核心特点1. 可视化开发:拖放界面:用户可以通过拖放组件来设计用户界面和业务逻辑。图形化建模:使用图形化工具来设计数据模型、工作流和业务流程。2. 预建组件和模板:组件库:提供丰富的预建组件,如表单、按钮、图表等。模板库:提供多种预建模板,覆盖常见的业务场景,如CRM、HRM、项目管理等。
2024-11-11 21:36:54
1477
原创 鸿蒙应用开发:断点下载
对于某些特殊场景,可能需要开发定制化的断点续传功能。这通常涉及到与服务器端进行沟通,确保双方都能理解并执行断点续传的逻辑。
2024-11-09 19:33:04
718
1
原创 鸿蒙应用开发:数据持久化
最近在搞公司项目用到了鸿蒙端的数据持久化,特来跟大家分享一下。通过数据能力组件,开发者可以实现复杂的数据操作,包括增、删、改、查等功能。它允许不同的应用共享数据,并提供了统一的数据访问接口。这是一个轻量级的关系型数据库,适用于本地存储。开发者可以使用 SQL 语句进行数据管理,支持事务处理,适合需要复杂查询的场景。适合存储简单的配置信息和用户偏好。通过键值对的方式存取数据,非常方便,尤其是在需要保存少量数据时。直接操作文件系统,允许读写文件。
2024-10-23 20:30:15
486
1
原创 鸿蒙开发:文件推送到沙箱路径
最近一个项目需要基于沙箱路径下的文件进行操作,奈何应用沙箱路径下没有。找来找去方法都是要把文件推送进去。以下是我的一些拙见,请各位看官老爷指点一二。
2024-10-10 21:24:52
956
1
原创 鸿蒙应用开发:读取U盘文件
外置存储设备(如SD卡、U盘等)具备可插拔属性,因此系统提供了设备插拔事件的监听及挂载功能,用于管理外置存储设备,当前仅对系统应用开放。
2024-09-29 16:21:57
743
原创 鸿蒙应用开发:音视频播放器
鸿蒙系统提供了多样化的API,来帮助开发者完成音频播放的开发,不同的API适用于不同音频数据格式、音频资源来源、音频使用场景,甚至是不同开发语言。因此,选择合适的音频播放API,有助于降低开发工作量,实现更佳的音频播放效果。本节介绍通过Media Kit实现音频播放。:用于音频播放的ArkTS/JS API,集成了流媒体和本地资源解析、媒体资源解封装、音频解码和音频输出功能。可用于直接播放mp3、m4a等格式的音频文件,不支持直接播放PCM格式文件。
2024-09-22 09:52:33
1376
3
原创 原型与原型链
在JavaScript中,原型(prototype)和原型链(prototype chain)是理解对象如何继承属性和方法的关键概念。原型,它指向另一个对象,这个对象(构造函数.prototype)被称为。
2024-09-01 21:20:07
1271
原创 数据持久化原理:本地存储
每种存储方式都有其适用场景和限制。在实际应用中,开发者需要根据项目的具体需求来选择合适的存储方式。例如,对于需要长期存储的数据,可以选择 LocalStorage 或 IndexedDB;而对于临时存储的数据,可以使用 SessionStorage。如果需要存储的数据量较大或者需要进行复杂的查询操作,则 IndexedDB 可能是最合适的选择。在前端开发中,有几种常见的方法可以用来在客户端存储数据。对于上一节中所描述的问题。其本质是本地存储技术。
2024-09-01 15:16:00
463
原创 Vue面试
事件冒泡描述了事件如何从触发事件的最内层元素开始,逐步向上传播到父元素,直至到达文档的根元素的过程。事件冒泡是前端开发中一个非常重要的概念,它描述了事件如何从触发事件的最内层元素开始,逐步向上传播到父元素的过程。Vue 3 对 TypeScript 的支持更加完善,提供了更好的类型定义,使得类型检查更加精确,同时降低了使用 TypeScript 的门槛。Diff 算法是现代前端框架中的关键技术之一,它通过比较虚拟 DOM 树的变化来最小化实际 DOM 的更新,从而提高应用程序的性能。是两个非常重要的概念。
2024-08-26 16:17:03
1202
原创 闭包(Closure)
闭包(Closure)是JavaScript中一个非常重要的概念,它允许一个函数访问并操作其外部作用域中的变量,即使该函数在其外部作用域之外被调用。闭包使得函数能够“记住”它被定义时的作用域内的变量状态,即使这个作用域已经不存在了。
2024-08-15 16:17:38
305
原创 axios二次封装
前面已经了解了axios(),那么在项目中又该如何使用axios来对接后台呢?在 Vue 中对 Axios 进行二次封装是一种常见的做法,这样可以简化应用中的 HTTP 请求,并且可以使代码更加模块化和易于维护。
2024-08-14 19:48:46
822
原创 Vue3项目初始化:
当我们生成一个Vue3项目后必须要增加一些依赖和配置,比如安装组件库、配置ESLint和Prettier、接下来咱一步步推进~
2024-07-05 19:46:24
782
原创 GlaDS缘起
而沿纵向截面(L1-L2-L3)的数据显示,位于moulin附近的两点(L2和L3)的有效压力近乎同步变化,但上方位置(L1)相比滞后4小时。:图中还展示了不同区域的排水情况,包括片流(sheet discharge,qw)的蓝色线,总排水量(黑色线),以及通过累积输入流量(dashed线)与总流量叠加显示的对比。:Figure 3c展示了节点上的有效压力N,红色十字代表片流节点,较小的蓝色和较大的黑色圆点分别标记通过小通道和大通道的节点位置。在冰川终端附近,存在11个通道,它们之间的距离大约为2公里。
2024-06-06 20:05:53
1143
原创 Ajax与Axios
相比于原生的Ajax,Axios提供了更加方便的API,可以更容易地处理请求和响应,处理错误,并且支持取消请求等功能。总结来说,Axios是Ajax概念的一个现代化实现,它以更现代的JavaScript特性(如Promise)为基础,提供了更便捷、强大的HTTP请求处理能力,特别适合现代Web应用的开发需求。2、ajax技术实现了局部数据的刷新,而axios实现了对ajax的封装。Ajax和Axios都是用于在前端进行数据交互的工具,但它们有一些重要的区别,从使用方式到功能特性都有所不同。
2024-05-29 09:31:36
774
1
原创 移动端适配:vw适配方案
vw(Viewport Width) 是一种长度单位,代表视口宽度的百分比。1vw 等于视口宽度的1%。在网页设计和前端开发中,vw 单位常用于实现响应式设计和屏幕适配,尤其是针对不同尺寸和分辨率的移动设备。
2024-05-24 19:12:54
655
原创 团队代码质量利器:ESLint 搭配 Prettier
一个中大型项目,一般由团队成员共同开发维护。但每个开发人员都有独特的代码编写风格和不同的文本编辑器。那么如何解决同一项目中有太多不同编码风格的问题?如何实现相同的编码风格,避免团队成员之间的许多警告呢?答案就是:ESLint 搭配 Prettier!!!
2024-05-23 20:29:47
1082
原创 SHMIP:冰下水文模式比较计划
该计划通过构建一系列综合模拟实验,并对运行这些模拟的各参与模型的结果进行比较,以达到其目标。同时,对于模型开发人员来说,这将有助于他们评估哪些地方需要进一步的模型开发,并提供一组参考模型,以便与未来的模型进行比较。找到,同时也包含在补充材料中。文章的设计允许13个模型参与到部分或全部的实验中,包括分布式补给(A、E)、竖井输入的稳态条件(B),以及瞬态模拟(C、D、F)。第二种地形用于实验E和F,是受美国AK板凳冰川启发的合成山谷冰川几何形状,冰川长6公里,宽1公里,终点和冰川头之间的海拔差为600米。
2024-05-16 16:03:12
1383
原创 Vue3:项目创建
Vue 3 相对于 Vue 2 带来了许多改进和优点,这些改进主要是为了提高性能、开发体验和可维护性。但是对于创建项目,Vue3也可以采用跟Vue2相同的方式。
2024-05-10 21:36:45
949
原创 Vue学习:21.mixins混入
在Vue中,mixins(混入)是一种用于分发Vue组件中可复用功能的灵活机制。它们允许你抽取组件中的共享功能,如数据、计算属性、方法、生命周期钩子等,并将其作为单独的模块复用到多个组件中。这种方式有助于保持代码的DRY(Don't Repeat Yourself)原则,提高可维护性和可读性。混入(Mixins)本质上是一个含有组件选项的对象。当你将一个混入对象混入一个组件时,该混入对象的属性将会被“混合”到组件自身的选项中。如果混入对象和组件定义了相同的属性(如datamethods。
2024-05-05 18:50:28
550
原创 GlaDS应用
高压水的积累推动了地面区域的快速冰流,这些通道将淡水集中到冰架海洋空洞中,通过浮力吸引温暖的深水,促进了冰架的加速融化。底部供水的变化将影响底部通道的容量,文章证明这会影响主要通道两侧100公里范围内的分布式系统压力,并且,在季节性输入的情况下,可能会使南极系统从稳定状态转向类似格陵兰岛的系统。低传导系数组结果表明传导系数的偏低会抑制通道的形成,但会增加水深,尤其是冰下湖附近,多达数米,然而,较小和效率较低的通道对水文系统的影响远远超出了通道式的排水路线,在主要通道两侧的影响可达100公里。
2024-04-24 19:57:12
346
原创 Vue学习:18.Vue插槽
Vue 中的插槽(slot)是一种灵活的机制,用于在父组件中将内容传递到子组件的特定位置。它允许我们在子组件中定义可以在父组件中传递任意内容的“插槽”,从而实现更灵活的组件化。总结来说,Vue中的插槽机制极大地增强了组件的灵活性与可定制性,使得父组件能够以声明式的方式控制子组件内部的内容布局,同时支持数据的传递,使得父子组件间能更有效地协同工作。: 当子组件需要多个插槽时,可以为每个插槽指定一个名称,以便父组件更精确地控制内容的分布。向父组件传递数据,父组件则在。定义具名插槽,父组件则使用。
2024-04-13 09:56:13
530
原创 Vue学习:16.组件通信
由于组件的,无法直接访问其他组件的数据,所以想要使用其他组件数据必须通过 组件通信!在Vue.js中,组件之间的通信可以通过多种方式实现,包括 props、事件、$emit / $on、Vuex 状态管理等。要讲组件通信首先来说一下组件关系。
2024-04-10 20:19:05
567
1
原创 Vue学习:11.了解生命周期
这些生命周期钩子函数(lifecycle hooks)允许开发者在特定的阶段执行自定义逻辑,以便更好地管理组件的状态和与其交互的DOM元素。它展示了从创建一个Vue实例开始,到销毁该实例为止的整个过程中的各个关键阶段和对应的钩子函数。: 组件已经被创建并成功挂载到DOM中,可以访问到真实的DOM元素并进行操作。此时新的DOM还未生成,可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。属性还不存在,无法操作DOM。属性已被赋值,但真实的DOM还未渲染出来,可以进行DOM相关的准备工作。
2024-04-09 16:12:15
299
原创 Vue学习:6.认识计算属性
计算属性是 Vue.js 提供的一种特殊属性,用于在模板中动态计算和返回数据。计算属性使得在模板中使用动态计算的数据变得非常简洁和方便,同时又能保持响应式更新的特性,提高了代码的可读性和可维护性。
2024-04-08 19:11:55
443
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人