- 博客(94)
- 收藏
- 关注
原创 css-常用函数详解
8. translate() 方法函数在水平和/或垂直方向上重新定位元素。单个值边上在水平方向上的唯一,两个值表示第一个值在水平方向上的位移、第二个值表示在竖直方向上的位移。9. translate3d(),translateX(),translateY(),translateZ() 同表示在不同方向上的位移。因此,较大的值会产生更多模糊。在 CSS 中,有一些内置的函数可以帮助我们实现更复杂和灵活的样式效果。函数用于引入外部资源,常见的是图片。函数用于创建具有透明度的颜色值。来使用该变量定义的颜色。
2024-08-02 14:19:18 465
原创 Markdown-it 如何解析超链接的格式,新页签打开
Markdown-it 是一个用于解析 Markdown 文本为 HTML 的库。要使用 Markdown-it 解析超链接并确保它们在新页签中打开,你需要使用 Markdown-it 的插件系统或者自定义规则。规则,在每个链接打开时添加了。属性,以确保新页签的安全性。
2024-07-11 17:25:54 346
原创 EventSource 在项目中常用的两种方式
使用post的方式请求eventSource,常用的就是通过fetchEventSource这个库来实现,借助第三方库的fetchEventSource方法连接服务,通过AbortController 对象可以关闭服务。只能由服务器向客户端发送消息,项目中常用的请求方式又get和post方式,对于没有请求要求的情况,短文本的情况使用浏览器提供的api即可。不需要安装插件,直接创建EventSource对象,通过EventSource对象连接服务,连接服务以后就可以接受服务推送的消息。
2024-05-23 17:17:41 2758 2
原创 钉钉登录前端处理
在vue项目中,可通过动态创建script标签,加载js库。渲染二维码的区域的样式,可以自定义去除背景颜色和边框。加载钉钉API接口以后,获取用户扫描之后将获取的。,并且要将goto参数urlencode编码。表示显示二维码的区域的宽。表示显示二维码的区域的高。
2024-03-07 18:09:44 646
原创 Windows无法访问github解决方案
将修改好的文件替换到 C:\Windows\System32\drivers\etc 路径下。进入 C:\Windows\System32\drivers\etc 路径下。执行 ipconfig/flushdns。win+R 输入cmd 回车进入。复制 hosts文件到桌面。在复制好的文件最后加上。
2024-01-26 17:04:09 576 2
原创 Vite+Electron快速构建一个VUE3桌面应用(三)——打包
上一篇文章Vite+Electron快速构建一个VUE3桌面应用(二)——动态模块热重载完成了开发时的动态模块热重载功能,现在是时候来看看怎么完成最后一步——打包了。
2024-01-26 14:17:41 1169 1
原创 Vite+Electron快速构建一个VUE3桌面应用(二)——动态模块热重载
在上一篇文章Vite+Electron快速构建一个VUE3桌面应用中,我们了解了如何使用Vite和Electron来快速构建一个Vue3桌面应用。但是,之前构建的应用仅仅是一个简单的版本。在开发过程中,为了更好的开发体验,在开发electron的时候,肯定也希望能有动态模块热重载(HMR),更别说vite那迅雷不及掩耳盗铃儿响叮当之势的加载速度。因此,接着上一篇文章所完成的项目代码,我们来完成Vite和Electron开发时的动态模块热重载功能。Vite+Electron快速构建一个VUE3桌面应用。
2024-01-26 14:15:53 1040 1
原创 Vite+Electron快速构建一个VUE3桌面应用(一)
首先,介绍下vite和Electron。Vite是一种新型前端构建工具,能够显著提升前端开发体验。Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。嵌入Chromium和Node.js到二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。: 该项目集成度较好,封装较为完整,中文搜索下来文章较多也是该方案,可以直接上手去使用。
2024-01-26 14:14:34 3985 6
原创 nrm-npm包版本管理和详细安装和使用教程
安装 npm 包的时候,可能会感觉下载比较慢,那是因为默认情况下,npm 包的安装都是从国外的 npm 官网地址进行下载的,可以通过更改 npm 源地址来实现更快速度的下载。目前存在使用electron的时候,使用国内的镜像是不可以的,所以在安装electron的时候,就要切换到npm官方的镜像地址。,它允许用户快速地在不同的npm源之间切换。项目中使用nrm,可以加快npm包的下载速度,切换不同的npm源。此时能看到上面 6 个可用的源地址,前面的字符串是每个地址的标识,比如我们切换到。
2024-01-25 15:37:07 1364
原创 nvm--node版本管理详细安装和使用教程
nodejs是项目开发时所需要的代码库,nvm是nodejs版本管理工具,npm是nodejs包管理工具;nodejs能够使得javascript能够脱离浏览器运行,nvm能够管理nodejs和npm的版本,npm能够管理nodejs的第三方插件。默认是C:\Program Files\nodejs,也可能在其他盘,主要取决于安装时的选择。查看该路径下是否有node文件,我这里已经没有了,在控制面板。后一般会自动删除node文件,如果文件还在的话就手动删除。
2023-12-14 17:11:45 596
原创 如何把一个数组json数据,加到已有的树形数据中
要将一个数组的 JSON 数据添加到已有的树形数据中,可以使用递归方法遍历树形数据,并将数组中的每个元素插入到合适的位置。函数会遍历树形数据,找到与数组数据第一个元素的父节点,并将数组中的每个元素插入到父节点的。函数接受两个参数:一个是已有的树形数据。,另一个是要插入的数组数据。
2023-11-27 18:31:16 555
原创 js 如何把一个json数据,组装成树形数据
在 JavaScript 中,可以使用递归的方式将一个 JSON 数据组装成树形数据。这样,你就可以将一个 JSON 数据组装成树形数据了。
2023-11-27 16:58:14 1027
原创 electron项目开发环境搭建
app.whenReady()是app启动后的Promise,使用then可以监听对应的状态,在这个回调里面增加createWindow函数,createWindow新建了一个浏览器窗口,设置宽高,并且使用浏览器窗口加载index.html文件。1. 新建目录命名为electronDemo,使用npm init -y 新建一个前端工程,在package.json中增加一行"main": “main.js”,这行代表应用程序的入口是main.js文件。4. 测试electron项目。
2023-08-09 18:36:18 1349
原创 ECharts 折线图使用相关
第3条数据值 = 第2条数据值 + 第3条数据值。即:第2条数据值 = 第1条数据值 + 第2条数据值。只需要修改stack的属性值即可,保持不一致就行。
2023-08-07 10:43:10 438
原创 对象数组嵌套多层childList,如何每层每个childList都遍历改变值
加1,可以使用递归的方法来实现。以下是一个示例代码,演示如何遍历并修改每层的。如果你有一个嵌套多层的对象数组,其中包含。属性,并且想要遍历每一层的每个。
2023-08-03 14:06:08 559
原创 vue中取消http请求
请注意,取消令牌实例只能用于取消单个请求。如果需要取消多个请求,可以创建多个取消令牌实例,并分别传递给对应的请求。要取消HTTP请求,你可以使用axios库提供的取消请求功能。另外,需要确保服务器端支持取消请求的机制,否则即使在客户端取消了请求,服务器端可能仍然会继续处理请求。这样就会触发请求的取消,并在catch块中捕获到一个包含取消原因的错误。
2023-07-07 15:36:26 981
原创 vue 中常用 时间格式转化方式
在Vue中,你可以使用第三方库如moment.js或day.js来进行时间的格式化。这些库提供了丰富的日期和时间处理功能,包括格式化、解析、计算等。无论你选择使用moment.js还是day.js,都需要在Vue组件中引入相应的库,并根据需要使用其提供的方法来格式化时间。在上面的示例中,我们使用moment函数将日期对象转换为moment对象,并使用format方法指定所需的时间格式。在上面的示例中,我们使用dayjs函数将日期对象转换为dayjs对象,并使用format方法指定所需的时间格式。
2023-07-07 15:35:33 7065
原创 vue中使用锚点连接 的几种方式
在Vue中,你可以使用锚点连接(Anchor Link)来实现页面内的跳转。通过使用锚点链接,用户可以点击链接并平滑地滚动到页面中的指定位置。在上面的示例中,我们创建了一个导航栏,并为每个导航项添加了一个带有对应锚点的href属性。然后,在页面中的各个部分(如<div>)上设置了相应的id,作为锚点的目标位置。在上面的示例中,我们通过调用方法来实现平滑滚动效果。你可以将该方法绑定到锚点链接的点击事件上。注意:如果你不需要平滑滚动效果,只需普通的跳转到指定位置,可以直接使用原生的锚点链接,无需使用第三方库。
2023-07-07 15:27:56 4553
原创 React 和 Vue 的理解,异同
相似之处:都将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库; 都有自己的构建工具,能让你得到一个根据最佳实践设置的项目模板; 都使用了 Virtual DOM(虚拟 DOM)提高重绘性能; 都有 props 的概念,允许组件间的数据传递; 都鼓励组件化应用,将应用分拆成一个个功能明确的模块,提高复用性。不同之处数据流 Vue 默认支持数据双向绑定, React 一直提倡单向数据流 虚拟 DOM Vue2.x 开始引入"Virtual DOM",消
2023-06-08 12:44:06 927
原创 typescript中type、interface的区别
interface:接口在TS 中主要用于定义【对象类型】,可以对【对象】的形状进行描述。type :类型别名为类型创建一个新名称,它并不是一个类型,只是一个别名。
2023-06-04 22:05:16 748
原创 typescript 相关概念
属性后面加任意:eg: let b : {name: string, [propName: string]: any },表示属性是可选的 eg:let b : {name: string, age?注意:接口中的所有属性都不能有实际的值,接口值定义对象的结构,而不考虑实际的值。编译文件时,使用 -w 指令后,TS编译器会自动监视文件的变化,并在文件发生变化时对文件进行重新编译。语法:{属性:属性值} eg: let b : {name: string}写法:h: [string, string];
2023-06-04 20:45:42 580
原创 Vue3 相关Composition Api 2
如果有一个对象数据,后续功能不会修改该对象中的属性,而是生新的对象来替换===>shallowRef。使用场景:用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新。我们可以更加优雅的组织我们的代码,函数。shallowReactive:只处理对象最外层属性的响应式(浅响应式)。shallowRef:只处理基本数据类型的响应式,不进行对象的响应式处理。作用:将一个由 reactive 生成的响应式对象转为普通对象。readonly:让一个响应式数据变为只读的(深只读)。
2023-06-03 01:31:41 405
原创 Vue3 常用的Composition API
备注:接收的数据可以是:基本类型、也可以是对象类型。setup不能是一个async函数,因为返回值不再是return的对象,而是promise,模板看不到return对象中的属性。语法: const代理对象= reactive(被代理对象)接收一个对象(或数组) ,返回一个代理器对象(proxy对象)对象类型:通过Object.defineProperty()对属性的读取、修改进行拦截(数据劫持)。通过Proxy(代理):拦截对象中任意属性的变化,包括:属性值的读写、属性的添加、属性的删除等。
2023-05-29 00:06:57 625
原创 JS 原型-原型链
函数的prototype属性默认是一个”普通对象“,就相当于是通过new Object()创建的,所以函数的 prototype._proto_ 则指向Object函数的prototype,且prototype也是对象,在读取不到属性时会去自己的__proto__中读取。prototype : 所有的函数创建时,都会创建一个普通对象,作为他的prototype属性,当此函数被当做构造函数用来构造一个对象后,构造出的对象的[[Prototype]]会默认指向这个函数的prototype属性。
2023-05-28 23:47:52 614
原创 JS 中bind、call、apply的区别
和call/apply的功能类似,只不过bind修改this指向之后,返回的新函数不会自动执行,如果有需要,需要手动执行;而call和apply改变this之后,返回的新函数会自动执行。方法的功能:修改原函数的this指向,并执行这个新函数。call和aply的第二个(或大于2个)参数为fn传入的参数。用来修改函数的执行上下文(this)。执行时一个对象可以使用另一个对象的方法。
2023-05-10 22:29:43 813
原创 JS 函数防抖、节流
某些情况下,浏览器的一些高频事件对于用户来说其实并没有太大必要,比如mousemove,scroll,resize。这种时候,我们可以将多次的重复触发,改成只执行最后一次,以此来提升执行速度,节省资源。
2023-05-10 22:01:31 999
原创 前端工程化问题
缺点:由于每次 merge 会自动产生一个 merge commit ,因此在使用一些可视化的git工具时会看到这些自动产生的commit,这些 commit 对于程序员来说没有什么特别的意义,多了反而会影响阅读。每个公司采用的Git 工作流都可能会有差别,有的比较规范,有的比较随意。merge 会自动创建一个新的 commit,如果合并时遇到冲突的话,只需要修改后重新 commit。发布时用的分支,一般测试阶段发现的 bug 在这个分支进行修复。Babel 的主要工作是对代码进行转译。
2023-05-10 20:53:20 663
原创 JS 数组-方法大全
value为要查询的数据;forEach接收的回调函数会根据数组的每一项执行,该回调函数默认有三个参数,分别为:遍历到的数组的数据,对应的索引,数组自身。当每个回调函数的返回值都为true时,every的返回值为true,只要有一个回调函数的返回值为false,every的返回值都为false。但是在排序前,会先调用数组的toString方法,将每个元素都转成字符之后,再进行排序,此时会按照字符串的排序,逐位比较,进行排序。根据指定的数据,从左向右,查询在数组中出现的位置,如果不存在指定的数据,返回-1。
2023-05-10 20:52:45 956
原创 实现即时通信 记录
概念:严格意义上HTTP协议只能做到客户端请求服务器,服务器做出相应,做不出让服务器主动给酷虎推送消息。websocket:这是基于tcp协议的全新,独立的协议,作用是在服务端和客户端之间建立实时的双向通信。SSE:服务端推送事件,它是一种基于http协议,允许服务端向客户端推送新数据的html5技术。缺点:基于文本传输,效率没有websocket高,基于http协议,不是严格的双向通信。优点:基于http。即时通讯方案:短轮询(历史),长轮询(历史),SSE,websocket。
2023-04-14 17:52:35 338
原创 Http请求
5XX : 服务器错误,这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。早期HTTP/1.0在每次请求的时候,都要创建一个新的连接,而创建连接的过程需要消耗资源和时间,为了减少资源消耗、缩短响应时间,就需要复用已有连接。301 : 永久移动,表示本网页已经永久性的移动到一个新的地址,在客户端自动将请求地址改为服务器返回的新地址。注意:如果命中了强缓存,在有有效期内,使用了本地浏览器的缓存,该资源是不会向服务器发送请求的。
2023-04-13 20:19:37 448
原创 JS 基础概念
简而言之,函数内部能访问函数外部的变量,而外部函数能访问全局作用域的变量,这样的变量作用域访问的链式结构,就被成为作用域链。内存回收:使用完毕,由垃圾回收自动回收不再使用的内存全局变量一般不会回收,一般局部变量的的值,不用了,会被自动回收掉。解决:result = null // 释放内存,断开了对于之前内部函数的引用,对应的缓存的变量内容也会被释放。从js根部(全局对象)出发,能够访问到的对象、普通变量、函数等,都是需要用的,不会释放。(标记清除:指的是从全局出发,访问不到的内存空间,就会自动被回收)
2023-04-07 23:00:03 271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人