- 博客(63)
- 收藏
- 关注
原创 macOS上安装nvm
Error: error:0308010C:digital envelope routines::unsupported 这个错误的原因是与 Node.js 中的一个安全特性有关,这个特性在某些情况下会导致兼容性问题。或者,关闭并重新打开终端,这样 nvm 会自动加载。如果正确安装,会显示 nvm 的版本号。
2024-08-21 13:52:34
171
原创 Coze初体验
Coze 集成了各种类型的插件,包括新闻阅读、照片摄影、实用工具、社交等类型,使用这些插件,可以帮助拓展 Bot 的能力边界。Coze 中的工作流是由多个节点构成的,其中包含基础节点、插件和工作流,可以将插件和工作流都看作是一个节点,也就是说可以将已完成的工作流复用到现有的工作流中,以此来完成一些功能。上传到知识库中的内容会被分割成多个分段,然后通过向量召回,召回最相关的分段,帮助模型提高回答的准确性。这些插件的能力如果是我们个人接入都是要收费的,但是在 Coze 平台则是免费使用的。
2024-04-23 16:35:07
1305
原创 Jest 测试框架快速上手
Jest 是一个用于 JavaScript 应用程序的一种测试框架,是由 Facebook 开发并开源的,它为开发人员提供了一种简单而高效的方式来编写和运行各种类型的测试。测试在我们技术中,意味着检查我们编写的代码是否满足某些期望,它是一种系统性的方法,用于发现和识别潜在的问题、错误或缺陷。
2023-12-28 15:37:24
1440
原创 断点续传功能
断点续传是一种文件传输的技术和策略,用于在网络传输中出现中断或错误的情况下,能够从中断的位置继续传输文件,而无需重新传输整个文件。断点续传的关键是记录传输的状态和进度信息,以便在中断后能够准确恢复传输。通常,前端(客户端)负责将文件分割成块并发送到后端(服务器),后端接收和处理分块数据,并保存已接收的块。当传输中断时,前端可以根据已传输的块信息通知后端从中断处继续传输,而不是重新开始。它提供了一种灵活、可靠的文件传输方式,提高了传输效率和用户体验。
2023-12-08 11:54:33
1455
原创 js 实现图片向上滚动的平滑动画效果
requestAnimationFrame():这个方法用于请求浏览器在下一帧渲染之前执行指定的回调函数,可以实现平滑的动画效果。
2023-11-15 16:20:45
722
原创 Vue I18n 国际化插件,从安装到使用最全篇
国际化是指项目能够根据不同国家的语言进行转换,便于不同国家的用户使用。Vue I18 是 Vue.js 的国际化插件,它可以轻松地将一些本地化功能集成到应用程序中。为什么插件名称是 i18n 呢?它的全程是 internationalization,插件名取了首字母 i 和尾字母 n,中间一共有 18 个字母,所以组合起来就叫 i18n。哈哈哈哈,起名起的离谱。// 定义英文语言包对象},tabs: {// 定义中文语言包对象hotspot: '热点',experience: '经验',
2023-11-12 19:03:01
24269
5
原创 yarn : 无法加载文件 C:\Program Files\nodejs\yarn.ps1
这个错误提示说明在电脑系统上禁止运行 PowerShell 脚本,因此导致无法加载 Yarn 的安装脚本。这是由于系统的执行策略(Execution Policies)设置所导致的。2. 在窗口中执行 set-ExecutionPolicy RemoteSigned。RemoteSigned 指允许运行本地的签名脚本和远程的数字签名脚本。4. 查看执行策略可以使用:get-ExecutionPolicy。1. 以管理员身份运行 PowerShell。3. 执行完成后,输入 Y,确定即可。
2023-10-17 17:23:14
1542
原创 ReferenceError: primordials is not defined错误解决
如果要实现优美的切换 node 版本,那可以使用 nvm 进行管理,关于 nvm 的正确使用,在上篇文章中有提到过。从github上拉了一个项目,想要学习一下,在起服务的时候出现了这个问题。试了很多种方法,都不可行,最后,降低了 node 版本解决了问题。最后删除项目中的 node_modules,重新安装依赖即可。gulp 与 node 版本起冲突。1)首先,安装 gulp,查看版本;nvm nodejs版本管理。2)再查看 node 版本。
2023-09-26 17:14:43
553
原创 nvm nodejs的版本管理工具
nvm 全英文名叫 node.js version management,是一个 nodejs 的版本管理工具,为了解决 nodejs 各种版本存在不兼容现象可以通过他安装和切换不同版本的 nodejs。
2023-09-26 17:12:42
334
原创 详细聊聊Vue中设计的computed和watch
它们都提供了一种在响应式数据变化时执行响应操作的机制。computed:计算属性,是基于其他数据进行计算得到的,依赖于其他数据,只有当依赖的数据发生变化时,计算属性才会自动更新,并当作普通属性进行访问。// 当firstName或lastName发生变化时fullName才会被重新计算watch:观察属性,是用于监听指定的数据变化,在数据变化时执行相应的操作,不依赖于其他数据,专注于本身所监听的数据。watch: {// 当firstName发生变化时执行的操作...
2023-09-12 11:09:11
241
1
原创 【性能优化】事件委托
在 JS 中,添加到页面上的事件处理程序的数量将直接关系到页面的整体运行性能,因为需要不断的与 dom 节点进行交互,访问 dom 的次数越多,引起浏览器重绘与重排的次数也就越多,那么就会延长整个页面的交互就绪时间,这就是为什么性能优化的主要思想之一就是减少 dom 操作的原因。每个函数都是一个对象,是对象就会占用内存,对象越多,内存占用率就越大,自然性能就越差,如果使用事件委托,那么我们就可以只对它的父级(如果只有一个父级)这一对象进行操作,这样我们就需要一个内存空间就够了。
2023-09-11 16:00:48
393
原创 vue3 引入腾讯地图解决请求接口跨域问题
上一篇文章中写到使用 uniapp 如何解决跨域问题,那么在使用 Vue3 时,又该如何去处理呢?
2023-04-04 08:21:46
1235
1
原创 uniapp 引入腾讯地图解决H5端接口跨域问题
什么原因会出现跨域问题呢?我们常常说的跨域,只会出现在浏览器中,因为浏览器同源策略的限制而导致的。同源策略是浏览器最核心也是最基本的安全功能,它会阻止一个域的 javascript 脚本和另一个域的内容进行交互,当双方的 url 不同源(协议、域名、端口三者之一不同)时,就会出现跨域问题。那么我们在 uniapp 中引入腾讯地图后,当需要请求其中的接口时,如果在微信开发者工具中运行,那么是可以正常请求到的;但当我们需要运行在 H5 端进行调试时,浏览器会出现跨域问题,那么我们如何解决呢?
2023-04-03 19:58:50
2712
原创 TCP为什么需要三次握手进行连接,二次或四次不可以吗?
所以,两次握手不具备可靠性。当客户端发送了一个 SYN 报文后,突然宕机了,并且这个 SYN 报文还被网络阻塞了,这时服务端还没有接收到客户端发过来的报文,之后,当客户端重启后,又重新向服务端建立连接,再次发送 SYN 报文(注意这次发送的 SYN 报文与之前发送的 SYN 报文的序列号是不同的,属于两个不同的报文)。对于两个 SYN 报文,服务端是先接收 [旧 SYN 报文],再接收 [新 SYN 报文],那么当 [旧 SYN 报文] 先到达服务端后,服务端就会返回一个 SYN+ACK 报文给客户端。
2023-03-26 17:08:43
4116
1
原创 Object.defineProperty() 详解
当声明一个对象时,它里面的属性的内部属性的默认值都为 true,也就是说 writable 这时的默认值为 true,这就是为什么上面的 name 如果不想被修改就需要手动去设置 writable 属性的原因。我们可以看出,使用 Object.defineProperty() 添加的属性不能被枚举到,也就是不能被遍历到。Object.defineProperty() 的作用就是直接在一个对象上定义新属性,或者修改一个已经存在的属性。都有哪些属性描述符呢?
2023-03-05 10:35:44
1280
原创 【ES6】var let const 之面试题系列
ES6 增加 let 和 const 从客观上为这门语言更精确地声明作用域和语义提供了更好的支持,var 所造成的问题,随着这两个关键字的出现,也被慢慢的解决,有效的提升了代码的质量,变量有了明确的作用域已经不能改变的限制。对于新的两个关键字,优先使用const,let 次之。使用 const 声明可以让浏览器运行时强制保持不变,也可以让静态代码分析工具提前发现不合法的赋值操作。
2023-03-04 14:50:28
637
原创 TypeScript 元素隐式具有 “any“ 类型,因为类型为 “string“ 的表达式不能用于索引类型 “typeof
在 tsconfig.json 文件中添加 ''suppressImplicitAnyIndexError'': true 规避错误。首先通过 typeof 操作符获取 Icons 变量的类型,然后通过 keyof 操作符获取该类型的所有键。在报错上一行添加 // @ts-ignore 规避掉 TS 的检查。
2023-02-26 17:15:08
2058
1
原创 vue3+ant design vue 动态加载Icon图标
在使用前端组件库时,我们常常会遇到需要动态加载 Icon 图标,如何处理这一需求,是前端开发人员必须思考的问题。在 vue 中,有一个内置组件 component,它的主要作用是配合 is 动态渲染组件,这一作用就满足了我们上述的需求。
2023-02-26 17:00:43
2457
原创 安装sass/node-sass出现:error An unexpected error occurred: “https://registry.npmjs.org/sass...“
yarn add 报错:error An unexpected error occurred: "https://registry.npmjs.org/sass: connect ETIMEDOUT 104.16.19.35:443".
2023-02-21 20:53:06
708
原创 浅析前端工程化中的一部曲——模块化
模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程,每个模块完成特定的子功能,所有的模块按某种方法组装起来,成为一个整体,从而完成整个系统所要求的的功能。块的内部数据与实现是私有的,只是向外部暴露了一些接口和方法与外部其他模块通信。CommonJS 规范中规定每个文件就是一个独立的模块,有自己的作用域,模块的变量、函数、类都是私有的,对其他文件不可见。在服务器端,模块的加载是运行时同步加载的;在浏览器端,模块需要提前编译打包处理。
2023-02-20 12:44:57
1409
原创 Vite 会取代 Vue-cli 吗?
Vite 是新一代的 Javascript 构建工具,通过使用基于 ESM 的工作流程进行本地开发,确保开发服务器即使在处理大型 Javascript 应用程序时也能保持快速。通过在底层使用 Rollup,确保生产构建实现性能优化技术,如 tree-shaking、延迟加载和常见的块拆分。无论 Vite 可以走多远,但是这种本地无需打包利用浏览器去解析当前请求的模块,还有热更新时候只编译也不再打包的概念是我们所期待的。
2023-02-17 09:27:33
4019
原创 uni-app做微信小程序的分包处理
我们的都知道微信小程序有随即随用,用完即走的优点,并且它开发门槛低,但是它也有一个致命的缺点,就是代码包体积的限制,这一缺点让小程序的开发有了一定的限制,现在有一方法可以减少代码包的体积,能够让小程序的功能得到一定的扩展,这一方法就是——分包。
2023-02-15 16:04:31
4837
4
原创 跨域的理解
跨域是指浏览器不能执行其他网站的脚本,简单来说就是浏览器端可以传请求到服务器端,但是由于浏览器同源策略的限制,所以服务器不能向浏览器端传输数据。同源策略指的是协议、域名、端口号都相同,如果其中有一项不同,那么即为跨域,同源策略是浏览器最核心最基本的一个安全功能。所以,跨域只会出现在浏览器上,小程序和 APP 开发中不会出现。
2023-02-14 11:16:46
120
原创 从输入URL到浏览器显示页面的过程中都发生了什么?
用户在浏览器中输入一个 url 或直接点开一个 url 后,就可以看到网页内容了。虽然可以直接显示,但在这背后却经过了非常复杂的操作,主要有五大过程:
2023-02-13 21:47:29
1628
原创 【算法】字符串和数组中常用的一些方法汇总
把数组中的所有元素转换为一个字符串。对数组元素进行排序。默认排序是按字母升序。【会改变原始数组】在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的字串。【不改变原字串】提取字符串中介于两个指定下标之间的字符。【不改变原始字串】添加或删除数组中的元素。【会改变原始数组】提取字符串的某个部分。【不改变原字串】返回某个字符串值在字符串中或数组中首次出现的位置,如果没有匹配到,则返回 -1。
2023-02-02 22:06:38
166
原创 微信小程序篇4 授权登录总流程
调用 wx.getUserInfo() 读取用户数据 --> 通过 wx.login() 获取用户 code --> 通过 wx.request() 请求业务方服务器,传入必要的参数 --> 请求成功后,服务端生成 token 返回给客户端 --> 前端存入 storage 中,在请求拦截器的头部带上 token --> 需判断 token 是否过期。如过期,需重新授权;如没有过期,则可正常使用。1)由于小程序后台授权域名无法授权微信的域名,所以需自身后端调用微信服务器获取用户信息。
2023-01-30 15:55:06
441
原创 微信小程序篇3 谈谈如何提高小程序的应用速度
1)先使用从缓存中取出上一次数据,等到请求结束后再使用请求得到的数据。2)在加载时显示骨架屏(骨架屏:在页面尚未加载前展示出来的大致结构)。3)前一个页面预加载下一个页面的数据,达到秒开的效果。
2023-01-30 15:52:06
2479
原创 微信小程序篇1 认识微信小程序
随搜随用,用完即走:无需安装下载速度快,不占内存:小程序的前端代码都是存在微信服务器上的,在腾讯云端存着,无需加载流量大,易接受,入口众多:扫码、搜索、附近、分享等入口
2023-01-30 15:34:59
225
原创 后台——侧边和面包屑导航栏设计与实现方案
后台管理系统最重要的功能之一无疑是导航的设计,不管是侧边导航栏还是头部面包屑导航栏,导航与路由如何去匹配是开发人员需要去考虑的问题。点击侧边导航栏的某一项可以跳转到当前页面的路由,头部面包屑导航也会按照当前路由显示相应的导航。
2023-01-06 21:47:55
1614
原创 Promise 简单理解与使用
Promise 是异步编程的一种解决方案,其实是一个构造函数,自身上有 all、resolve、reject 这几个方法,实例对象上有 then、catch 等方法。简单理解,Promise 是一个容器,里面保存着某个未来才会结束的事件(通常是异步操作,如ajax请求)的结果。
2022-11-27 18:21:28
204
原创 javascript 事件循环机制的理解
javaScript 是一门单线程语言,异步操作都是放在事件循环队列里面,等待主线程中的执行栈来执行的,并没有专门的异步执行线程。
2022-11-27 18:13:37
798
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人