自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Webpack与Vite构建工具对比分析

类型:静态模块打包工具(Bundle-based)核心能力将JS/CSS/图片等资源视为模块通过Loader/Plugin处理复杂依赖支持代码分割、懒加载、Tree-shaking高度可配置化官方定位考量维度Webpack权重Vite权重开发体验★★★★★★★★构建速度★★☆★★★★★生态成熟度★★★★★★★★☆旧浏览器支持★★★★★★★☆配置灵活性★★★★★★★★☆。

2025-04-11 11:53:38 1017

原创 三大开源大模型应用框架深度对比:AnythingLLM、Dify 与 Open-WebUI

团队规模:小团队优先Open-WebUI,大企业选AnythingLLM技术能力:开发能力强选Dify,重应用选Others业务需求:知识管理、应用开发还是模型实验建议从Open-WebUI开始体验,逐步过渡到更专业的解决方案。所有系统都支持Docker部署,可快速验证概念可行性。

2025-04-08 19:02:53 1090

原创 发布 Vue 插件到 NPM 的完整指南

严谨的工程化配置完善的测试覆盖专业的文档支持持续的版本管理良好的类型支持遵循本指南,您将能够发布符合企业级标准的 Vue 插件,为 Vue 生态做出有价值的贡献。

2025-04-01 19:24:16 451

原创 Web网页开发——水果忍者

复刻经典小游戏——水果忍者

2025-03-26 18:19:43 315

原创 Marked.js 前端渲染MD文档,以及实现语法高亮

代码块将显示类似 优快云 的语法高亮效果,主题为。

2025-03-04 16:14:00 458

原创 使用 AI 助手提升前端代码质量:自动代码审查实战

AI代码审查助手已经成为我们团队日常开发的好帮手。它并不是用来替代人工代码审查的,而是帮助我们过滤掉基础问题,让团队能把精力放在更有价值的讨论上。如果你也想尝试,建议从小范围开始,慢慢调整和优化,找到最适合自己团队的方式。

2025-02-25 10:32:19 440

原创 Webpack 和 Vite 的构建原理及对比分析

维度WebpackVite核心理念“打包一切”“按需编译”适用场景大型传统项目现代轻量级项目性能优势成熟稳定冷启动极快学习成本高低选择建议需要兼容旧浏览器或深度定制 → Webpack新项目追求开发效率 → ViteVite 代表前端工具链的未来方向,Webpack 仍是复杂场景的“瑞士军刀”

2025-02-18 10:01:29 772

原创 DeepSeek本地部署,手把手保姆级教程!

今天我们来聊聊程序员们的“刚需”——本地部署 DeepSeek 模型。有没有人和我一样,经常遇到 “服务器繁忙,请稍后再试” 这种让人抓狂的提示?尤其是关键时刻,AI 不给力,堪比写代码写到一半 IDE 崩溃,那种无奈你懂的。所以,今天我就来教大家如何在本地部署 DeepSeek 模型,不再受制于网络波动、服务器抽风,让 DeepSeek 成为你真正的私人助理!整个过程不算复杂,全程手把手教学,你跟着做就能搞定!

2025-02-11 10:38:42 1390

原创 前端跨域方式总结

CORS:最常用且标准的跨域解决方案,需后端支持。JSONP:适用于 GET 请求,早期常用的跨域方式,但存在安全隐患。WebSocket:支持双向通信的跨域方式,适合实时应用。:用于跨域的窗口间通信,适合嵌套 iframe 或父子窗口通信。Iframe + 后端代理:通过服务器代理跨域请求,适用于不支持 CORS 的服务器。代理:前端开发中常用的解决跨域的手段,适用于开发环境。选择哪种方式取决于具体的应用场景、后端支持情况和跨域请求的类型。

2025-01-15 19:59:53 810

转载 nginx 部署前端vue项目

Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。

2025-01-04 21:13:31 72

转载 无界(wujie)微前端实现及三种通信方式介绍

不用注册,不用改造路由,直接使用无界组件,化繁为简子应用采用 iframe 的路由,不用关心路由占用的问题不用修改主应用window任何属性,只在iframe内部进行修改由于不污染主应用,子应用销毁也无需做任何清理工作。

2024-12-30 14:09:52 290 1

原创 popover弹窗框中的teleported属性--Element-plus踩坑日记

这个插入body元素确实是插入了body元素中,但是它是仅是降了一级成为了body的children。今天在做项目时,有一个地方用到了弹窗框,但是有需求需要修改弹窗的阴影部分。将 popover 的下拉列表插入至 body 元素不应该也生效吗?可知,弹窗框是在组件内容之外了,所以在组件内操作的样式没有对弹窗框生效。我想对阴影进行修改,但是很是纳闷,各种标签选择器都不生效,很奇怪。把这个属性改为false,成功了!带着疑问问了带我实习的师傅,发现了这个属性。它和我们组件的内容成为兄弟关系了!

2024-12-23 16:42:54 281

转载 js获取元素的滚动高度,和距离顶部的高度

返回当前元素的左边界到它的包含元素的左边界的偏移量:obj.offset().left(在元素的包含元素含滚动条的情况下)返回当前元素的上边界到它的包含元素的上边界的偏移量:obj.offset().top(在元素的包含元素含滚动条的情况下)某个元素的左边界到body最左边的距离:obj.offset().left;(在元素的包含元素不含滚动条的情况下)某个元素的上边界到body最顶部的距离:obj.offset().top;(在元素的包含元素不含滚动条的情况下)元素距离文档顶端和左边的偏移值。

2024-12-16 18:19:30 447

原创 Git submodule did not contain解决办法

子仓库中使用git rebase -i 来把两个commit(A和a6b9)合并成了一个,变成了B,并且这时提交到远端。这时,其他人就会出现截图上面的问题,因为远端没有找到a6b9的commitid,所以失败了。子仓库提交了两个commit,一个是A,另外一个是a6b9。(没有push到远端)Git submodule 采坑_swust_chenpeng的专栏-优快云博客。然后主仓库使用了a6b9来关联子仓库的提交,并且push到远端了。重新把子仓库的提交整理好提交一次,然后在主仓库中关联即可。

2024-12-06 17:56:24 321

原创 pm2在服务器上部署express项目

之前部署网站偷懒直接把node在命令台中运行了。结果就是网站老是崩溃,只要一关闭控制台,项目自动关闭,还要远程登录服务器进行重启。所以花时间了解了一下PM2的部署方式。PM2部署node有很多好处第一个 进程守护,可以在后端程序崩溃的时候自动重启第二个 错误日志的打印第三个 多进程的设置我们来一步步讲述一下pm2的部署流程及一些常用配置。

2024-11-28 17:23:30 419

原创 Vue 中插槽(Slot)用法

在Vue中,子组件的模板可以定义多个插槽(包括默认插槽和具名插槽等等),而父组件在引用子组件时,可以根据需要 有选择性的为这些插槽插入内容。如果父组件没有为某个插槽提供内容,那么子组件的模板中该插槽的位置将显示为该插槽的默认内容(如果有的话),或者简单地留空。

2024-11-25 11:28:14 948

原创 Web 渗透测试神器:HackBar 保姆级教程

HackBar 是一个用于浏览器的扩展插件,主要用于进行网络渗透测试和安全评估。它提供了一系列方便的工具和功能,可以帮助用户执行各种网络攻击和测试,包括 XSS、SQL 注入、CSRF、路径穿越等。以下是 HackBar 插件的一些主要特点和功能:自定义请求发送:HackBar 允许用户自定义 HTTP 请求,并可以通过插件直接发送这些请求。用户可以手动构造 GET、POST、PUT、DELETE 等类型的请求,并添加自定义的 HTTP 头部、参数等信息。

2024-11-20 10:37:17 406

原创 vue watch监听子组件内数据变化

通过$watch可以从父组件里监听子组件内数据变化, 但注意只能监听$watch $refs.., 而不能直接监听$refs.或$refs。this.$watch 需写在mounted里, 因为这时$refs指向的子组件才加载完成并能够获取到,而这也是为什么不用watch(){}, 而用this.$watch的原因。

2024-11-08 16:41:49 301

原创 ElementUI校验表格单元格内容

相信大伙肯定遇到过这样的需求,在一个表单内容里面嵌套一个表格,同时需要校验表格里面的某些单元格内容,如果自己实现这样的校验,一般就只能遍历表格内容进行判断,然后修改标识符给出提示。若使用的是 elementUI 组件库,那么这件事其实就变得非常简单了,只需要在表格单元格放入 ElFormItem 组件下,即可实现指定单元格的校验。单元格静态校验。

2024-11-01 17:30:22 727

转载 Nginx部署前端Vue项目的深度解析

通过本文,我们深入探讨了如何使用Nginx部署前端Vue项目。从准备工作、构建Vue项目、上传静态文件到服务器、配置Nginx,到测试并重新加载Nginx,再到高级配置和常见问题与解决方案,我们一步步地完成了整个部署过程。希望这些内容能够帮助你顺利地将Vue项目部署到Nginx服务器上,并在实际工作中进一步优化部署方案。版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

2024-10-25 14:59:40 35

转载 TS进阶之条件类型

IsString2中的[T]被数组包装过了,不会进行分发,直接判断[string | number] extends string[], 得到了"Not a String";IsString3中的[T]没被包装过,会进行分发,得到"IS a String" | "Not a String";这个是错误的,因为 never代表的是空的联合类型,相当于没有,所有不会执行,最后也是。重点:例子中的true和 false是类型(字面量类型),不是值。注意 这里的'a','b','c',是类型,是类型,是类型;

2024-10-21 11:48:15 33

转载 vue实现粘贴截图上传图片

这只是最基本的功能实现代码,自己酌情添加需求即可。完成结果如下,仅仅支持截图上传,如qq、微信、钉钉等应用截图后直接粘贴即可。vue实现粘贴截图上传图片。

2024-10-12 17:17:04 185

转载 自动化部署之jenkins及简介

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,Hudson后来被收购,成为商业版。在插件管理中,有可更新、可选插件、已安装,日常的插件安装都是在这个界面上完成的。只是一个平台,真正运作的都是插件。安装插件完成,设置用户名:jenkins,密码:jenkins。

2024-09-28 17:36:47 201

转载 Vue3中的混入(mixins)与(hooks)

混入在 Vue 2 中被广泛使用,但在 Vue 3 中,官方更推荐使用组合式 API(Composition API)来实现类似的功能,因为组合式 API 提供了更好的逻辑关注点分离和可维护性。Composition API 是 Vue.js 3 中引入的一种新的组件逻辑编写方式,它是一组基于函数的API,允许开发者以更加灵活和模块化的方式来组织和复用组件逻辑。通过混入,我们可以将一些通用的逻辑、方法和数据添加到多个组件中,并且可以在这些组件中共享这些混入的内容。混入是一个对象,它可以包含任何组件选项。

2024-09-20 15:51:24 384

转载 Pinia与Vuex的对比:Pinia是Vuex的良好替代品吗?

Pinia 是 Vue.js 的轻量级状态管理库,最近很受欢迎。它使用 Vue 3 中的新反应系统来构建一个直观且完全类型化的状态管理库。Pinia的成功可以归功于其管理存储数据的独特功能(可扩展性、存储模块组织、状态变化分组、多存储创建等)。另一方面,Vuex也是为Vue框架建立的一个流行的状态管理库,它也是Vue核心团队推荐的状态管理库。Vuex高度关注应用程序的可扩展性、开发人员的工效和信心。它基于与Redux相同的流量架构。在这篇文章中,我们将对Pinia和Vuex进行比较。

2024-09-14 17:02:20 209

转载 全面了解Vite

(法语单词,“快” 的意思)是一种新型的前端构建工具最初是配合 Vue3.0 一起使用的,后来适配了各种前端项目,目前提供了 Vue、React、Preact 框架模板目前来说,Vue 使用的是 vue-cli 脚手架,React 一般使用 create-react-app 脚手架。虽然脚手架工具不一样,但是内部的打包工具都是 Webpack为什么要开发一个全新的构建工具,是 Webpack 不香了吗?Vite 方式构建的项目,和使用 Webpack 构建的项目,有什么不同?

2024-09-06 17:24:20 418

原创 Vue进阶之 Vue3.X

它必须接收一个响应式代理对象;Monorepo 模式,使用同一个项目管理多个的包儿,将不同功能的代码,放入packages中管理,这样可以使得每个功能模块划分明确,依赖也很明确,并且每个功能模块儿都可以单独测试、发布和使用。注意,Vue3.0中,代理对象操作,用使用 Reflect (反射对象来操作),它与Object的一些操作相同,但是建议可以使用 Reflect 的都使用Reflect;//全局唯一的,每次执行时都只有一个正在执行,此时收集依赖的对象,就会收集activeEffect正在执行的函数。

2024-08-30 16:49:27 1184

原创 this、apply、call、bind

这又是一个面试经典问题~/(ㄒoㄒ)/~~也是 ES5中众多坑中的一个,在 ES6 中可能会极大避免 this 产生的错误,但是为了一些老代码的维护,最好还是了解一下 this 的指向和 call、apply、bind 三者的区别。在 ES5 中,其实 this 的指向,始终坚持一个原理:this 永远指向最后调用它的那个对象,来,跟着我朗读三遍:this 永远指向最后调用它的那个对象,this 永远指向最后调用它的那个对象,this 永远指向最后调用它的那个对象。记住这句话,this 你已经了解一半了。下

2024-08-23 18:09:35 904

原创 前端开发之优雅降级与将进增强

前端开发之优雅降级与将进增强

2024-08-16 16:41:01 985

原创 vscode集成git及git的使用

第一步,下载git安装包,安装完git后配置环境变量 “D:\git\Git\cmd”,win+R打开cmd输入命令git验证是否安装成功,在任意路径下能进入git,说明环境变量设置生效。接下来,打开本地存储python项目的文件夹,初始化存储,之后,该目录下会生成一个.git文件。第二步,打开vscode, 文件->首选项->设置 打开用户设置,配置git路径,如下所示。当然,上面所有在bash终端执行的命令行操作都可以使用vscode的窗口操作,那样更简单。重启vscode可看见配置效果。

2024-08-09 17:20:45 788 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除