- 博客(107)
- 收藏
- 关注
原创 前端面试题合集
一旦WebSocket连接建立,服务器和客户端都可以随时发送数据,这使得WebSocket非常适合需要高频实时交互的应用,如在线游戏、聊天应用等。客户端创建一个到服务器的单向连接,服务器通过这个连接可以发送更新的数据。客户端每隔一定时间(如每5秒)发送一个请求到服务器,服务器响应当前的数据状态,客户端根据响应更新界面。这是最简单的实现实时更新的方法,但可能会导致服务器负载增加,因为请求是在固定间隔发送,无论数据是否真的发生变化。长轮询是轮询的一个变种,客户端发送请求到服务器后,四. WebSocket。
2025-01-06 10:24:00 163 2
原创 【npm】解决npm安装慢问题
在开发过程中,npm install 是安装和管理项目依赖的关键命令。然而,有时我们会遇到 npm install 运行卡住不动的情况,这通常与网络连接、NPM源的可用性和速度、资源下载超时等因素有关。本文将为你提供七种解决方案,帮助你顺利进行依赖安装。
2024-08-06 09:06:15 10806 2
原创 【vitePress】基于github快速添加评论功能(giscus)
这样之后就会满足条件,giscus找到下面位置内容,后面要用。,如下图所示,填入你的github。组件,添加giscus评论组件,往下翻打开discussion。配置文件中使用自定义布局。
2025-01-20 15:22:49 454
原创 【git】如何删除本地分支和远程分支?
这是因为任何其他分支都看不到提交,并且Git正在保护您免于意外丢失任何提交数据。如果分支包含未合并的更改和未推送的提交,则该-d标志将不允许删除本地分支。本地分支是您本地机器上的分支,不会影响任何远程分支。现在就可以删除分支了。
2025-01-17 17:24:42 421
原创 【VitePress快速入门】页面导航nav与侧边栏siderbar配置(三)
导航栏与侧边栏分别由config.mjs中的nav和siderbar进行控制。考虑到后期该配置内容可能会有大量内容,因此建议拆分出去单独管理。(3)在config.mjs文件中引入并使用。(2)新建sidebar.mjs文件。(1)新建nav.mjs文件。
2025-01-16 17:25:33 242
原创 【VitePress快速入门】项目配置(网站图标、更新时间、中文化等)(二)
打开config.mjs文件,在themeConfig配置下添加更新时间。// 主题配置.....//最后更新时间text: "最后更新",},},
2025-01-16 16:55:41 245
原创 【VitePress快速入门】初始化项目(一)
创建文件夹并使用vscode打开,通过crtl+j调出命令行,输入以下命令。package.json查看启动命令。输入(也可以根据自己的习惯修改启动命令)在开始之前需要首先安装需要使用的软件。index.md(入口文件)配置信息可以参考如下。
2025-01-16 10:57:27 475
原创 DOM常见的操作有哪些?
日常前端开发,我们都离不开DOM操作在以前,我们使用Jqueryzepto等库来操作DOM,之后在vueAngularReact等框架出现后,我们通过操作数据来控制DOM(绝大多数时候),越来越少的去直接操作DOM但这并不代表原生操作不重要。相反,DOM操作才能有助于我们理解框架深层的内容下面就来分析DOM。
2025-01-09 11:37:55 485
原创 说说你对作用域链的理解
引擎会尝试在当前作用域下去寻找该变量,如果没找到,再到它的上层作用域寻找,以此类推直到找到该变量或是已经到了全局作用域。可见上述代码中在函数内部声明的变量或函数,在函数外部是无法访问的,这说明在函数内部定义的变量或者方法只是函数作用域。任何不在函数中或是大括号中声明的变量,都是在全局作用域下,全局作用域下声明的变量可以在程序的任意位置访问。把作用域比喻成一个建筑,这份建筑代表程序中的嵌套作用域链,第一层代表当前的执行作用域,顶层代表全局作用域。变量,当我们在全局访问这个变量的时候,系统会报错。
2025-01-08 11:56:16 458
原创 数组的常用方法有哪些?
传入三个参数,分别是开始位置,要删除元素的数量,要插入的任意多个元素,返回删除元素的数组,对原数组产生影响。首先会创建一个当前数组的副本,然后再把它的参数添加到副本末尾,最后返回这个新构建的数组,不会影响原始数组。传入三个参数,分别是开始位置、0(要删除的元素数量)、插入的元素,返回空数组。传入两个参数,分别是开始位置,删除元素的数量,返回包含删除元素的数组。方法接收任意数量的参数,并将它们添加到数组末尾,返回数组的最新长度。对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组。
2025-01-08 11:54:26 689
原创 【性能优化】如何提升页面加载速度?
前端性能优化主要有七种方法,包括减少请求数量、减少资源大小、优化网络连接、优化资源加载、减少重绘回流、使用性能更好的API和webpack优化1.减少请求数量。
2025-01-06 10:21:02 1411 2
原创 【Threejs】从零开始(十)--加载gltf模型和压缩后的模型
该类文件以JSON(.gltf)格式或二进制(.glb)格式提供, 外部文件存储贴图(.jpg、.png)和额外的二进制数据(.bin)。一个glTF组件可传输一个或多个场景, 包括网格、材质、贴图、蒙皮、骨架、变形目标、动画、灯光以及摄像机。如果画面是一片漆黑的话,调整一下场景的颜色,因为没有光源,模型是纯黑色的,在黑色背景下看不到。这时我们需要使用DRACOLoader(一个用于加载经过Draco压缩的图形库)来处理。想让我们的模型有颜色可以加入光源,也可以加入背景贴图,用环境光照亮模型。
2024-12-20 19:43:16 514
原创 【Threejs】从零开始(九)--创建雾fog效果
Fog( color : Integer, near : Float, far : Float )颜色、近距离密度、远距离密度。线性雾:scene.fog = new THREE.FogExp2( 0xcccccc, 0.002 );线性雾:scene.fog = new THREE.Fog(0x000000, 0.1, 20)它可以在相机附近提供清晰的视野,且距离相机越远,雾的浓度随着指数增长越快。分为两种,一种是线性雾,一种是指数雾。雾的密度是随着距离线性增大的。
2024-12-20 18:36:21 215
原创 【Threejs】从零开始(八)--贴图
这样可以将我们想要的图片贴到我们的物体上面。2.使用贴图(在创建材质时添加map属性)当然还有更多贴图效果,这里仅简单介绍使用。这样我们就得到了类似3d空间的效果。不懂的地方可以看前面的进行回顾。1.导入hdr加载器。
2024-12-20 18:20:09 302
原创 【Threejs】从零开始(七)--BufferGeometry
但是这样的平面会存在六个定点,分别是两个三角形定点。可以看到其实有两个点是共用的,其实只需要四个点就可以,那该怎么实现。所以如何创建一个长方形?即两个三角形拼在一起,下面来操作一下。在threejs中所有的面都是由一个个三角形组成的。这样可以达到相同效果,但是只存在4个定点。渲染到页面,这样会形成一个平面。创建两个三角形顶点位置坐标。
2024-12-19 16:54:06 135
原创 【Threejs】从零开始(六)--GUI调试开发3D效果
GUI(Graphical User Interface)指的是图形化用户界面,广泛用在各种程序的上位机,能够通过简单的操作和按钮就可以调用底层代码,方便我们使用和展示结果。写好了底层的代码后我们就可以制作一个GUI界面来打包和展示。简单来说就是功能的一个集合模块。
2024-12-19 16:14:00 860
原创 【Threejs】从零开始(四)--旋转与缩放
x - 用弧度表示x轴旋转量。y - 用弧度表示y轴旋转量。z - 用弧度表示z轴旋转量。order - (optional) 表示旋转顺序的字符串。因为的旋转通过设置rotation属性,该属性是Euler类的实例,因此可以通过Euler类的方法进行设置旋转角度。因为物体的scale属性是vector3对象,因此按照vector的属性和方法,设置x/y/z轴方向的缩放大小。每一帧旋转弧度制的0.01角度,实现动画代码。set方法,每个参数具体定义。
2024-12-19 13:03:21 323
原创 【Threejs】从零开始(三)--物体移动与父子元素
因此可以得到,子元素的位置是也相对于父元素来说的,而父元素是基于原点的。首先创建一个父元素,一个子元素。为便于区分用让他们材质不同。其中set的三个变量分别代表是xyz轴。这里可以引入position方法。我们设置子元素的位置。
2024-12-19 12:32:35 202
原创 【Threejs】从零开始(二)--控制器和辅助坐标系
在上一节我们得到了一个不断旋转的三维立方体,但是我们不能进行控制视角,我们怎么可以通过控制鼠标去观察不同方位。
2024-12-19 11:09:10 153
原创 解决 git 报错 “fatal: unable to access ‘https://github.com/.../.git‘: Recv failure Connection was rese
在代理服务器中,将端口设置为7890(这个端口不会影响正常上网,可以放心设置),然后点击保存。有时候取消代理设置仍然会出现报错,这时可以通过设置系统代理来解决。打开系统设置,搜索代理设置,并点击编辑按钮。
2024-12-06 09:30:40 3547 1
原创 vue项目部署到github pages后页面显示不出来??
打开控制台,细心的朋友可能会发现, script 标签的引入路径好像不对啊,因为 static 文件夹和 index.html 是在同一个目录下的,这里却是从根目录引入 static 下的文件,正确的路径应该是 ./ 开头的相对路径: src=’./static/…run build 后,项目的目录下会生成一个 dist 文件夹,它里面又包含一个 static 文件夹和一个 index.html 文件,这是 webpack 最终打包好的文件。项目上传到仓库后发现页面为空,找不到文件路径..
2024-12-02 17:40:03 614
原创 如何部署vue项目到Github Pages
在项目根目录右键选择open git base here,如果没有安装git请先安装git。打开github仓库的setting配置,选择Pages配置项,Source项选择。打开vite.config.ts,添加一行base属性。(为了找到你的文件路径)将.gitignore文件中的dist文件注释掉(将dist文件也上传到仓库)再将项目进行一次提交(之后每次提交执行都执行下面命令即可)将vue项目推送到远程仓库。,Branch项选择。
2024-12-02 17:31:57 783
原创 【Stable Diffusion】安装教程
打开python下载页面,找到python3.10.9,点击右边的download下载跳转页面后,往下拉,看到windows包这里,选择和你操作系统对应的版本,我这里是64位的就选了这个。如果不知道window是32位还是64位的,那就回到你的桌面右键我的电脑,点击属性。我的电脑就是这个东西:右键之后会出来这个东西:点击这个之后,就会下载。下载完成后,双击运行,会出来这个页面,记得一定选了这个选项(如下图),不然还得配置。
2024-11-27 10:17:05 1872
原创 window7升级win10教程
13、查看一下升级后的Win10是否激活,右键「此电脑」,点击「属性」。11、然后进入到「为你的设备选择隐私设置」,这里根据自己的情况选择吧,我这里为演示保持为默认,选择完毕后按「接受」按钮。12、不一会儿就升级完毕进入桌面了,可以看到右下角出现「正在搜索显示器驱动」,说明安装完新系统后驱动要更新了,建议使用。6、选择「保留个人文件和应用」,这样在Win7系统中的应用和文件数据在Win10安装完成后都会完整保留下来。10、系统自动重启,显示「正在进行更新」的状态,这段时间的长短跟电脑硬件配置有关。
2024-11-18 14:46:21 697
原创 Visual Studio Code 常用快捷键及常用插件
b) 取消单行注释:[ctrl+k,ctrl+u] (按下ctrl不放,再按k + u)d) 复制整行:【SHIFT + ALT + UP/DOWN】a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/b) 删除整行:【 CTRL + SHIFT + K 】c) 移动选中的行:【ALT + UP/DOWN】f) 光标在任意位置换行:【CTRL+ENTER】: ctrl + k + 0-9 (0是完全折叠)c) 多行注释:[alt+shift+A]: ctrl + k + j (完全展开代码)
2024-11-15 11:24:29 1070
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人