马优晨
码龄11年
求更新 关注
提问 私信
  • 博客:4,173,974
    社区:7,760
    问答:16
    动态:3
    视频:176
    4,181,929
    总访问量
  • 626
    原创
  • 958
    排名
  • 1,249
    粉丝
  • 26
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
目前就职: 阿里巴巴
加入CSDN时间: 2014-12-02

个人简介:生活中的打击和挫折远比想象的更多,有时灾难又会让你的一切努力白费,也许明天我们就会死去,但如果我们还活着,在面对着种种不公和无奈过后,“明天的明天的明天,你是否会依然爱着这个世界。” 我想我会.......................

博客简介:

马优晨

博客描述:
撰写自己前端开发心得
查看详细资料
个人成就
  • 领域专家: 前端开发技术领域
  • 获得1,893次点赞
  • 内容获得388次评论
  • 获得4,387次收藏
  • 代码片获得5,837次分享
  • 原力等级
    原力等级
    8
    原力分
    5,426
    本月获得
    77
创作历程
  • 30篇
    2025年
  • 27篇
    2024年
  • 28篇
    2023年
  • 33篇
    2022年
  • 57篇
    2021年
  • 91篇
    2020年
  • 168篇
    2019年
  • 158篇
    2018年
  • 53篇
    2017年
  • 40篇
    2016年
成就勋章
TA的专栏
  • AIGC
    1篇
  • 推荐书籍
    3篇
  • 松柏集
    6篇
  • 数据图片
  • React Hook
    6篇
  • AI
    1篇
  • rax
    3篇
  • Svelte
    1篇
  • echarts
  • redis
    1篇
  • 架构
    2篇
  • vue3
    3篇
  • ice
    1篇
  • uni-app
    1篇
  • flutter
    2篇
  • electron
    3篇
  • 前端开发
    242篇
  • 关于生活
    4篇
  • vant
    3篇
  • express
    5篇
  • 前端算法
    11篇
  • mint-ui
    1篇
  • babel
    3篇
  • turn.js
    2篇
  • 国际化
    1篇
  • vue-awesome-swiper
    1篇
  • 小技巧
    133篇
  • vue
    91篇
  • react
    34篇
  • CSS3
    49篇
  • 小程序
    14篇
  • 概念类知识点
    40篇
  • ECMAScript
    5篇
  • node.js
    17篇
  • PC端
    4篇
  • 咨询
  • IE兼容
    1篇
  • git
    17篇
  • 协议
    3篇
  • 电脑相关
    1篇
  • webpack
    10篇
  • Ant Design
    8篇
  • yarn
    2篇
  • ES6
    15篇
  • ES7
    6篇
  • gulp
    1篇
  • npm插件
    6篇
  • 性能优化
    11篇
  • ESlint
    3篇
  • 编辑器
    7篇
  • Element UI
    13篇
  • 设计模式
    4篇
  • UEditor
    1篇
  • vue-amap
    1篇
  • typescript
    22篇
  • nginx
    2篇
  • mongDB
    2篇
  • 面试
    3篇
  • nw.js
    2篇
  • ES10
    5篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 4

TA参与的活动 17

兴趣领域 设置
  • 前端
    javascriptcssvue.jsreact.jses6webpack前端框架
  • 后端
    node.js
  • 移动开发
    flutter
  • 网络与通信
    https
  • 微软技术
    typescript
  • 学习和成长
    面试
马优晨
You got a dream, you gotta protect it.

个人博客: 点击进入

个人微信: mayouchen123
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

28人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

使用帧加载解决页面白屏问题

本文介绍了一种优化页面加载性能的方案,通过使用requestAnimationFrame API实现组件分批加载。核心思路是创建一个useDefer.js工具函数,利用浏览器动画帧控制组件加载节奏。在APP.vue中,通过v-for循环渲染100个HeavyComp组件,但每个组件只在defer(n)返回true时才会渲染,实现组件按顺序分帧加载的效果。这种方法能有效避免一次性加载大量组件导致的白屏问题,提升用户体验。代码示例展示了具体实现方式,包括工具函数封装和组件条件渲染的应用。
原创
博文更新于 21 小时前 ·
155 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

发布订阅模式详解

发布订阅模式通过中间媒介(事件总线)实现对象间解耦通信,发布者发送消息而不需知道接收者,订阅者通过订阅特定消息类型接收通知。与观察者模式不同,发布订阅模式完全隔离发布者和订阅者。前端常用于组件通信、事件监听等场景,具有解耦、灵活等优势,但需注意内存泄漏和事件命名规范等问题。
原创
博文更新于 2025.12.10 ·
315 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

封装一个 和AIGC 相关的 socket包

本文提出了一种面向AIGC场景的高可用Socket封装方案,采用分层架构设计:1)核心连接层处理底层Socket连接与重连机制;2)协议解析层适配多种AIGC协议格式;3)业务服务层管理会话上下文和消息分发;4)API层提供简洁的开发者接口。方案重点解决了流式响应处理、多模态消息支持、会话状态保持等AIGC特有需求,通过自动重连、心跳检测、错误分类等机制保障稳定性,并采用插件化设计支持扩展。该架构实现了业务逻辑与技术实现的解耦,为AIGC应用提供了可靠的实时通信基础。
原创
博文更新于 2025.12.10 ·
646 阅读 ·
29 点赞 ·
0 评论 ·
25 收藏

ES中Proxy 和 Reflect的用法和示例

本文详细介绍了ES6中的Proxy和Reflect对象。Proxy用于创建对象代理,通过handler拦截器自定义对象操作行为,如属性读取、赋值、删除等,适用于数据校验、权限控制等场景。Reflect提供标准化的对象操作方法,与Proxy拦截器一一对应,通过静态方法实现更规范的操作,如属性读写、删除等。两者结合使用时,Reflect能优化Proxy拦截逻辑,自动处理this绑定问题,使代码更简洁可靠。
原创
博文更新于 2025.12.08 ·
408 阅读 ·
6 点赞 ·
0 评论 ·
10 收藏

为什么 Vue和react需要虚拟DOM,svelte 不需要虚拟DOM

摘要:Vue/React依赖虚拟DOM实现运行时动态更新视图,通过diff算法对比新旧虚拟DOM差异,具有强动态性和跨平台优势,但带来运行时性能开销。Svelte采用编译时静态分析,直接生成精准更新DOM的代码,无需虚拟DOM,运行效率更高且打包体积更小,但在动态场景和跨平台支持上较弱。三者技术路径差异源于对"运行时灵活性"和"编译时优化"的不同取舍,虚拟DOM是通用框架实现动态性的必要妥协,而Svelte通过编译优化实现了更高效的更新机制。
原创
博文更新于 2025.12.05 ·
891 阅读 ·
10 点赞 ·
0 评论 ·
6 收藏

什么情况下浏览器里面有navigator.clipboard

摘要:navigator.clipboard API的使用需满足三个核心条件:现代浏览器支持(Chrome 66+等)、安全上下文(HTTPS/localhost)和用户交互授权。常见不可用场景包括:本地文件直接打开、HTTP公网页面、无交互调用、旧版浏览器和未授权iframe。建议先检测API可用性,绑定用户交互事件,并提供传统execCommand降级方案。典型代码示例展示了安全写入剪贴板的实现方法和兼容处理技巧,确保在API不可用时仍能通过替代方案完成复制操作。
原创
博文更新于 2025.12.05 ·
372 阅读 ·
6 点赞 ·
0 评论 ·
6 收藏

谷歌浏览器sources调试代码

本文介绍了代码调试的核心按钮及其使用场景,包括继续/暂停、单步跳过/进入/跳出、执行到光标处等功能按钮。详细说明了典型调试流程:从定位问题代码、添加断点、单步排查到分析变量和调用栈。提供了实用调试技巧,如快速修改变量值、条件断点和捕获报错断点等。这些工具和方法能帮助开发者高效定位和修复代码问题,提升调试效率。
原创
博文更新于 2025.12.05 ·
367 阅读 ·
6 点赞 ·
0 评论 ·
5 收藏

ts 中 export type 与 export 的区别

摘要:TypeScript中导出类型(interface/type)和值(enum/class/const)有本质区别。类型通过export type {...}导出,编译后会被移除;值通过export {...}导出,会保留在运行时代码中。最佳实践是分开导出,因为:1)类型和值本质不同;2)避免误用;3)工具支持更好。TypeScript 5.0+虽允许合并导出(使用type前缀标记类型),但不推荐。分离导出更清晰且符合最佳实践。
原创
博文更新于 2025.12.04 ·
124 阅读 ·
4 点赞 ·
0 评论 ·
0 收藏

Ant Design 6.0 深度解读:从“笨重黑盒”到“现代开放”的十年革新

Ant Design 6.0带来四大革新:采用CSS Variables实现零运行时架构,提升性能与主题切换效率;全面语义化组件支持精准样式定制;彻底放弃IE兼容;同步推出AI交互组件库Ant Design X 2.0。升级建议需分情况处理:v5用户可平滑迁移,v4用户建议先过渡到v5,IE项目可继续使用v5。这次升级标志着Antd从"笨重黑盒"向"现代开放"的转型,重新成为B端开发的可靠选择。
原创
博文更新于 2025.12.03 ·
564 阅读 ·
21 点赞 ·
0 评论 ·
13 收藏

默认插槽、具名插槽、作用域插槽的 作用和区别是什么

Vue插槽分为三种类型,各有其核心作用和适用场景。默认插槽用于单区域内容自定义,父组件直接传入内容;具名插槽允许在多区域独立自定义内容,通过命名区分位置;作用域插槽则实现子组件向父组件传递数据,由父组件决定渲染逻辑。三者的主要区别在于:默认插槽处理单一内容,具名插槽管理多个内容区域,作用域插槽实现数据驱动渲染。插槽机制为组件提供了灵活的内容分发能力,使组件复用性大幅提升。
原创
博文更新于 2025.11.26 ·
597 阅读 ·
21 点赞 ·
0 评论 ·
6 收藏

AI写代码 提示词一般有什么注意点

让 AI 高效写出符合需求的代码,核心是让提示词具备「明确性、完整性、结构化」——AI 无法猜你的隐含需求,提示越精准,产出质量越高。
原创
博文更新于 2025.11.07 ·
507 阅读 ·
23 点赞 ·
0 评论 ·
13 收藏

git bebase 的作用和用法

GitRebase详解:让Git历史更清晰 GitRebase是优化分支历史的利器,相比git merge有三项核心优势: 线性历史 - 避免冗余合并节点,形成单线程提交记录 冲突分散 - 按提交顺序逐个解决冲突,逻辑更清晰 提交优化 - 可合并/修改冗余提交,保持每个提交的独立性 主要使用场景: 整合分支更新:git rebase <目标分支> 优化提交历史:交互模式git rebase -i 修改历史提交:使用reword指令调整提交信息 注意事项: 仅用于个人分支 公共分支避免使用 冲突处
原创
博文更新于 2025.11.05 ·
634 阅读 ·
9 点赞 ·
0 评论 ·
30 收藏

ElementPlus 如何支持移动端

通过媒体查询(@media1、基础配置在全局样式文件(如global.css/* 针对手机屏幕(≤768px)的适配 *//* 调整组件间距 */.el-card {important;/* 减小字体大小 */important;/* 调整弹窗宽度为屏幕宽度的 90% */width: 90%!important;important;2、修复移动端交互问题/* 增大上下内边距,扩大点击范围 */优化下拉组件(如el-selectimportant;
原创
博文更新于 2025.10.24 ·
1163 阅读 ·
9 点赞 ·
0 评论 ·
10 收藏

Babel 与 Legacy插件 与 core-js polyfills 的区别

Babel、core-js和Legacy插件是前端兼容性方案的三大工具:Babel负责语法转换,将ES6+代码转为ES5;core-js提供API补丁,为旧浏览器实现Promise等新特性;Legacy插件则处理废弃语法提案的历史兼容问题。三者各司其职,通常配合使用:Babel处理语法层面,core-js补充API功能,Legacy插件解决特殊历史语法兼容,共同确保代码在旧环境中的正常运行。
原创
博文更新于 2025.10.23 ·
631 阅读 ·
22 点赞 ·
0 评论 ·
10 收藏

代码开发中,不同的命名格式

代码命名格式指南:驼峰式(camelCase)用于变量/函数;帕斯卡式(PascalCase)适用于类/组件;蛇形(snake_case)常见于Python/数据库;烤肉串(kebab-case)用于HTML/CSS;全大写蛇形(UPPER_SNAKE_CASE)表示常量;匈牙利命名法已不推荐。不同语言有偏好规范,核心原则是命名清晰且保持一致性。
原创
博文更新于 2025.10.23 ·
329 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

JavaScript 生态系统常见库

本文汇总了前端开发常用工具库,涵盖函数式编程、日期处理、DOM操作、状态管理、UI组件等12个类别。重点推荐了React/Vue生态的流行库如Redux、Pinia、Material-UI、ElementPlus,以及现代替代方案如date-fns替代moment.js、Vite替代Webpack。同时介绍了专业级工具如GSAP动画库和D3.js可视化库,并强调选择库时需综合评估项目需求、生态兼容性和学习成本。这些工具库构成了完整的前端开发技术栈,可满足各类开发场景需求。
原创
博文更新于 2025.10.21 ·
181 阅读 ·
11 点赞 ·
0 评论 ·
1 收藏

多人开发使用git rebase

这段文字解释了Git协作中的关键指令:首先将功能分支合并到develop主分支,要求接收者通过rebase操作同步个人分支到最新develop代码,避免冲突。接着指导从最新的develop创建新的个人分支进行后续开发,以保持代码库的稳定性和提交历史的整洁性。整个过程体现了Git分支管理的最佳实践,包括定期同步主分支、隔离开发环境等原则。
原创
博文更新于 2025.10.20 ·
299 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏

清理页面缓存

摘要:清理http://localhost:5173/dataV/#/缓存可通过Chrome设置或开发者工具(Application选项卡)清除。清理HSTS缓存需访问chrome://net-internals/#hsts,在"Delete domain security policies"区域输入localhost并删除。两种方法分别针对网页缓存和HSTS安全策略,操作简便 Justice。
原创
博文更新于 2025.10.17 ·
281 阅读 ·
8 点赞 ·
0 评论 ·
4 收藏

CSS 中 transation 主要作用是什么

在 CSS 中,transition(过渡)是用于实现元素样式平滑变化的动画效果的属性。它可以让元素的样式变化(如颜色、尺寸、位置等)在指定时间内逐渐完成,而不是瞬间变化,从而提升页面的交互体验和视觉效果。
原创
博文更新于 2025.10.09 ·
415 阅读 ·
9 点赞 ·
0 评论 ·
4 收藏

Git 中的某个分支打标签

Git提供了两种标签类型:轻量标签(仅引用提交)和附注标签(包含作者、日期和描述信息)。创建标签后需显式推送至远程仓库,使用git push origin <tag_name>或git push origin --tags。常用操作包括查看(git tag)、删除(git tag -d)本地/远程标签。附注标签因包含更多元数据而被推荐用于版本发布等重要节点。注意删除远程标签需同步操作本地和远程仓库。
原创
博文更新于 2025.10.09 ·
198 阅读 ·
10 点赞 ·
0 评论 ·
1 收藏
加载更多