- 博客(82)
- 收藏
- 关注
原创 Webpack:F:\nochinese_path\React_code\webpack
总结:mode: 'production' 是全局优化设置,会自动启用 TerserPlugin;手动配置 TerserPlugin 主要用于自定义压缩行为。从JS中提取CSS,并在光盘文件夹中创建一个独立的文件,最后这个css.bundle.js会被通过htmlWebpackPlugin加在index.html。由于已设置 mode: 'production',这里的 TerserPlugin 配置是冗余的。webpack 会自动使用 TerserPlugin。
2026-01-13 22:22:12
361
原创 大文件上传与文件下载
浏览器没有Buffer,用BlobTypedArray代替。fetchaxios的body字段直接支持这些类型,无需手动转Buffer。只要设为,后端就能按“裸二进制”接收。用户选了文件 ➜ 直接上传二进制流(最常用)需求只想把用户选的文件原封不动以“二进制流”形式 POST 到后端,后端收。
2025-10-18 11:55:35
418
原创 微信扫码登录,公众号生成二维码关注登录
用户访问页面 → 前端生成随机ID并存获取微信配置 → 调用后端获取JS-SDK配置参数生成二维码 → 调用微信API生成带场景值的二维码显示二维码 → 前端iframe显示二维码供用户扫描用户扫码关注 → 微信服务器发送事件到后端后端处理事件 → 解析XML数据,记录关注信息前端轮询检查 → 每5秒检查一次关注状态登录成功 → 跳转到成功页面。
2025-09-24 09:14:45
294
原创 React高阶组件
高阶组件是类组件编程中一种非常重要的代码复用技巧。随着Hook的流行,高阶组件用得越来越少vue中的代码复用技巧:1.组件2.minix3.插件4.自定义指令5.过滤器6.vue原型。
2025-09-13 14:17:15
307
原创 Redux
可能存在问题:团队协作开发时,人员比较多,在派发type时,可能有冲突,所以我们要保证,不管哪个模块,不管哪个组件,派发信号(type),type的值必须唯一,在store目录下创建一个。action是一个对象,这个对象中有一个type,就是信号,reducer就是根据type进行操作,都会去所有的reducer进行逐一匹配,和谁匹配成功,就执行谁的逻辑。但是原理不一样,takeLastest疯狂触发,创建很多工作saga,每一次执行工作saga,都会把上一次工作saga结束掉,debounce是防抖。
2025-09-10 09:35:24
999
原创 React:初始化脚手架【简单快速编写运用】
xxx脚手架用来帮助程序员快速创建一个基于xxx库的模板项目包含了所有需要的配置(语法检查、jsx编译、devServer下载好了所有相关的依赖可以直接运行一个简单效果react提供了一个用于创建react项目的脚手架库项目的整体技术架构为使用脚手架开发的项目的特点模块化组件化工程化yarn start:开发环境yarn bulid:打包yarn test:测试yarn eject:不可逆的暴露webpack.config.js等隐藏文件。
2025-08-24 17:35:06
853
原创 React:Diffing算法
a.旧虚拟DOM中找到了与新虚拟DOM相同的key:(1)若虚拟DOM中内容没变,直接使用之前的真实DOM(2)若虚拟DOM中内容变了,则生成新的真实DOM,随后替换掉页面中之前的真实DOMb.旧虚拟DOM中未找到与新虚拟DOM相同的key根据数据创建新的真实DOM,最后渲染到页面。
2025-08-24 12:58:21
390
原创 JavaScript:localStorage、sessionStorage、coookie区别
【代码】JavaScript:localStorage、sessionStorage、coookie区别。
2025-08-23 18:03:38
204
原创 React:组件生命周期
1.重要的勾子render:初始化渲染或更新渲染调用:开启监听发送ajax请求:做一些收尾工作如清理定时器2. 即将废弃的勾子现在使用会出现警告,下一个大版本需要加上UNSAFE_前缀才能使用,以后可能会被彻底废弃,不建议使用。
2025-08-23 15:40:38
772
原创 React:React中的事件处理
a.React使用的是自定义(合成)事件,而不是使用的原生DOM事件【为了更好的兼容性】b.React中的事件是通过事件委托方法处理的(委托给组件最外层的元素)【为了高效】2.通过event.target得到发生事件的DOM元素对象。1.通过onXxx属性指定事件处理函数(注意大小写)
2025-08-22 14:27:17
165
原创 React:面向组件编程
/创建函数式组件[组件要大写]return <h2>我是用函数定义的组件</h2>//渲染组件到页面【标签要结束】//创建函数式组件[组件要大写]//因为经过babel转译后开启了严格模式[use strict;return <h2>我是用函数定义的组件</h2>//渲染组件到页面【标签要结束】//创建函数式组件[组件要大写]//因为经过babel转译后开启了严格模式[use strict;return <h2>我是用函数定义的组件</h2>//渲染组件到页面【标签要结束】
2025-08-21 17:40:09
265
原创 React:React JSX
(1)若小写字母开头,则将该标签转成html中同名元素,若html中无该标签,则报错。(2)若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错。4.内联样式,要用style={{key:value}}的形式去写。3.样式的类名指定不要用class,要用className。一定注意区分:【js语句(代码)】 与 【js表达式】2.标签中国混入JS表达式要用{}1.定义虚拟DOM是,不要写引号。5.虚拟DOM必须只有一个根标签。下面这些嗾使语句(代码)"1.表达式:会产生一个值。
2025-08-21 14:09:53
398
原创 JavaScript:async await
3、async函数实际上返回的是一个promise,有return的话promiseresult就有值,否则就没有(undefined)4.async后最好放promise对象,虽然放其他值也有一定效果。2、await只能在async函数中使用,否则会报错。1、在async函数中,await规定了异步操作。
2025-08-17 20:54:57
152
原创 JavaScript:Promise:防止回调地狱
用于多个Promise实例,只有参数里面所有的Promise都是成功的,才会触发成功,一旦有一个返回失败/异常,就会触发失败(.catch)因为Promise论的是最终的状态。用于多个对象的Promise实例,等所有的promise都已经确认状态,返回一个Promise(不管是成功状态还是失败状态)接收一个promise对象集合当其中一个执行完毕,就先返回(不论成功或者失败)接收一个promise对象集合,其中一个promise先成功,就返回成功那个。,想要拿到每个返回值,然后再去做处理。
2025-08-17 17:38:14
912
原创 JavaScript:es6 箭头函数
声明的变量会成为全局对象的属性,这样箭头函数就能正确访问到。因此,当箭头函数尝试访问。问题出在变量声明方式上。声明的变量不会自动成为全局对象(指向全局对象,但全局对象上并没有。要解决这个问题,可以将。
2025-08-17 15:44:14
199
原创 JavaScript:slice substr substring splice split
【代码】JavaScript:slice substr substring splice split。
2025-08-17 10:57:04
231
原创 JavaScript:说说对Object.defineProperty()的理解
不进行数据劫持默认enumable, writable, configure默认为true。
2025-08-16 17:01:10
119
原创 JavaScript:typeof instance Object.prototype.toString.call()的区别?
typeof`只能判断简单数据类型(如number, string, boolean, undefined, symbol),对于复杂数据类型(如array, object, function)的判断不够精确(例如数组、对象和null返回的都是'object',函数返回'function')
2025-08-16 16:39:15
251
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1