全部文章
共 1299 篇文章
面试官:”Vite为什么快?“
面试官:”Vite为什么快?“ 阅读8分钟 前面一篇文章介绍了如何做 Vite 的插件开发 ,这篇文章介绍清晰 Vite 的构建原理,为什么比 Webpack 构建速度快这么多。 1\. 一句话解释 Webpack 的构建原理 前端之所有需要 类似于 Webpack 这样的构建工具,是为了提高项目的开发效率,Webpack 通过分析js中的 require 语句,分析出当前 js 文件所有的依赖文件,通过递归的方式层层分析后,得到整个项...
写给前端同学的Nginx配置指南
nginx.conf配置 找到Nginx的安装目录下的 文件,该文件负责Nginx的基础功能配置。 配置文件概述 Nginx的主配置文件( )按以下结构组织: | 配置块 | 功能描述 | | | | | 全局块 | 与Nginx运行相关的全局设置 | | events块 | 与网络连接有关的设置 | | http块 | 代理、缓存、日志、虚拟主机等的配置 | | server块 | 虚拟主机的参数设置(一个http块可包含多个serv...
antd Table点击整行选中
前言 antd官网例子上默认是点击checkbox或者radio才会选中,这对体验上来说有点不太方便,所以需求是要做成点击Table的整行直接触发选中。 其实官方也有给了个例子: ,这是使用class写的checkbox框。 但是我项目是使用hooks的,而且是个radio框,所以就自己写了个 实现 这个其实没啥好多说的,直接看代码好了 完事
4种方法实现html 页面内锚点定位及跳转
项目中经常会出现点击跳转锚点的方法,比如给一个a标签一个href=“#锚点”,然后要跳的锚点给个id=“锚点”,这样就实现简单的跳转,但是这样在url地址栏后面都会出现一个诸如www.geekjc.com/#锚点,然后你点击给一次后退都是退回上一个选择的锚点url,这里总结4个跳转锚点的方法。 第一种方法 也是最简单的方法是锚点用标签,在href属性中写入div的id。如下: 这种方法的缺点是点击锚点之后,浏览器的URL会发生变化,如果...
useMemo和useCallback的用法和区别
介绍 和 是React中优化是常用的两个Hooks。它们有一些共同点,比如都需要传递一个依赖数组,只有当依赖项发生改变时才会更新数据。但是它们的使用场景一般不同,下面将具体分析两个Hooks的异同。 useMemo 的定义如下: 其中factory是工厂函数, Dependencies是其所有依赖值的数组。 在组件初始化的时候会调用factory函数,并将返回值存储起来。当组件需要重新渲染时,react会首先依次判断每个依赖项的值是否发...
Nginx基本使用以及部署前端项目
最近学习了一下Nginx,整理了一个博客,主要参考的是狂神说的b站视频教程,文章链接如下: 一、下载、启动Nginx 1.下载Nginx 到 选择自己电脑适用的稳定版本下载,我下载的的windows版本。 <img width="756" height="640" src="../../ resources/34d32c5a540e4137a3190819a71b2db1 6bad48f7088b4b859.webp"/ 下载完,就会有...
blob与wav、mp3的关系
Web MediaRecorder 是 Web API 中的一部分,用于在浏览器中录制音频和视频。它可以捕获音频和视频数据,并将其保存为 Blob 对象。 Blob(二进制大对象)是一种数据类型,用于存储二进制数据。它可以包含任意类型的数据,包括音频、视频、图像等。Blob 对象通常与特定的文件格式相关联。所以,你提到的 WAV 和 MP3 都是常见的音频文件格式。 在使用 MediaRecorder 录制音频后,可以通过调用其 事件来...
Flutter 全能型选手GetX —— 状态管理_getx obs
使用篇 网络请求 原理篇 一、简介 Obx:响应式状态管理,当数据源变化时,将自动执行刷新组件的方法 GetX:响应式状态管理,当数据源变化时,将自动执行刷新组件的方法 GetBuilder:简单状态管理,当数据源变化时,需要手动执行刷新组件的方法,此状态管理器内部实际上是对StatefulWidget的封装,占用资源极少! 二、GetBuilder 我们在controller获取数据之后,就会调用controller的update方法...
Flutter 必备开源项目推荐
这段时间内一直学习 , 自行设计完成了一个实战项目 项目中用到了 中的大部分的组件, 界面也涉及了很多功能(可能很多地方还有待完善) 项目目前也还是处在开发待完成阶段, 主要内容差不多已经完成 下面是一些UI界面展示, 后面推见一些比较好的开源项目 验证码登录和密码登录都可以登录, 账号: 123 密码: 123 , 项目版本信息 项目下载完成之后, 请先执行 命令 2020 04 10 项目代码和相关插件已经更新 Flutter 2....