自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天心天地生的博客

前端知识总结

  • 博客(327)
  • 收藏
  • 关注

原创 dva的model中实现请求的并行调用

在dva的model中,详情接口返回了内容详情的的字段(该字段存储的是富文本的内容),但是该字段返回的是oss链接,需要将oss转换为html才能正常展示,所以我需要再详情接口返回之后,批量获取oss链接对应的html。

2024-07-16 11:14:10 195

原创 为微信小程序项目添加eslint

在使用vscode开发微信小程序的过程中,修改js的时候发现没有报错提示,让我很不习惯,所以想为微信小程序项目添加eslint配置。

2024-06-19 14:51:36 516

原创 如何为自己的项目生成changelog

在github上看到人家的更新日志感觉很cool,怎么能给自己项目来一套呢。

2024-06-18 14:52:15 457

原创 使用node写脚本生成小说

网上很多小说只能在线观看,没有下载功能,正好最近在学习node.js,就想着是否能用node写个脚本,批量获取每一章节的内容然后整合成txt并输出

2024-06-17 16:48:31 633 1

原创 js使用链表实现音乐播放器(新增,下一首播放,置顶,删除)

链表是一种线性数据结构,与数组类似,它用于存储一系列元素。不过,与数组在内存中连续存储元素不同,链表中的元素(称为节点)在内存中可以是非连续存放的。每个节点包含两部分:一部分存储数据,另一部分存储指向下一个节点的引用(或指针)。最后一个节点的指针通常指向 null,表示链表结束。假设我们要创建一个链表来存储一系列整数。链表的第一个节点(头节点)存储数字 1,第二个节点存储数字 2,以此类推。节点1 -> 节点2 -> 节点3 -> ... -> 节点n| | | | |

2024-05-28 17:29:30 432

原创 自用网站合集

总览线上工具-图片压缩 TinyPNG线上工具-url参数解析 线上工具-MOV转GIF UI-Vant微信小程序版本其他-敏捷开发工具 Leangoo领歌工具线上工具-图片压缩 TinyPNG不能超过5m,别的没啥缺点线上工具-url参数解析 我基本上只用url参数解析一些常用的操作在线版,页面比较干净线上工具-MOV转GIF UI库Vant-UI 微信小程序版本其他敏捷开发工具-Leangoo领歌有看板还可以生成燃尽图

2024-05-24 17:54:16 405

原创 自用vscode插件

tcl-insert-log-message-4k

2024-05-20 11:26:26 105

原创 js实现json数据可编辑

项目中有低代码平台,由于历史脏数据和非同步编辑的问题,偶尔会出现数据错乱的问题,希望有一个快捷的方式修改数据之前在用Formily的时候有注意到里面的json数据编辑功能非常不错如果能应用到项目里就完美了。

2024-05-07 17:09:49 1059 1

原创 npm安装依赖报错 ` Can‘t find Python executable “python“, you can set the PYTHON env variable`

npm安装依赖报错 ` Can't find Python executable "python", you can set the PYTHON env variable`

2024-04-11 16:04:41 982

原创 使用阿里云oss图片处理实现大尺寸图片加载优化

使用阿里云oss图片处理实现大尺寸图片加载优化;为方便客户减少图片的处理,h5端需要加载20m的大尺寸图片。

2024-01-05 14:47:45 590

原创 css实现边框跑马灯效果(彩虹,渐变,叠加)

css实现边框跑马灯效果(彩虹,渐变,叠加)

2023-12-18 10:56:21 1930

原创 暖雪-终业游戏攻略 开荒职业无量尊者圣物搭配(60亿秒伤)

暖雪-终业游戏攻略 开荒职业无量尊者圣物搭配(60亿秒伤)

2023-12-08 13:45:42 830

原创 taro使用defineConstants定义全局变量eslint报错该变量不存在

在taro项目中使用defineConstants定义一些全局变量供业务代码中进行使用,全局变量声明。

2023-10-20 14:03:01 470

翻译 终身学习者必看!系统性梳理并解决你的读书难题【潇洒一辣】

如何阅读一本书

2023-08-01 17:25:50 181 1

原创 使用 Google 的 zx 库编写切换微信小程序环境的脚本

微信小程序目前为止还没有提供API或者具体的配置方式,给我们设置环境变量,所以还得自己想办法。创建一个 shell 脚本——一个由诸如 Bash 或 zsh 之类的 shell 执行的脚本——可以是自动化重复任务的好方法。Node.js 似乎是编写 shell 脚本的理想选择,因为它为我们提供了许多核心模块,并允许我们导入我们选择的任何库。它还使我们能够访问 JavaScript 提供的语言特性和内置函数。

2023-07-12 17:56:40 1145

原创 【bug】umi某个页面无法触发热更新

在使用umi项目开发过程中,发现某个页面无法触发热更新,其他页面可以。

2023-05-29 16:31:37 594

原创 npm依赖更新无效

项目是使用ice@2.0.0搭建的react项目项目需要替换新版本的sdk,使用npm进行对应sdk的版本升级。依赖未生效

2023-05-18 09:37:42 612

原创 VSCode快捷键总结(mac版)

注意:本文针对的mac电脑下的快捷键,windows电脑下请自行切换。

2023-05-11 10:30:51 1418 1

原创 js 对象的过滤

JavaScript的对象不像数组或字符串那样可以迭代,所以我们不能直接在对象上使用filter()方法。在这篇文章中,我们将探讨如何利用JavaScript中的es6方法结合数组的filter()方法来过滤一个对象。filter()允许我们在一个数组中进行迭代并且只返回该数组中符合特定条件的项目到一个新数组中。

2023-04-24 11:51:51 1585

翻译 Chrome调试工具 使用断点进行debugger

通过 Chrome DevTools 调试功能的综合参考发现新的调试工作流程。

2023-04-06 14:08:28 806

原创 eslint自定义规则(禁用 localStorage和sessionStorage)

项目为了统一管理localStorage和sessionStorage,使用了统一的方法对Storage进行存取.为限制项目成员直接使用和,需要通过eslint对直接引用的形式加以限制。

2023-03-21 15:05:52 315

原创 【bug】antd全局的主题色样式被覆盖,被修改为`antd`默认的主题色

【bug】antd全局的主题色样式被覆盖,被修改为`antd`默认的主题色

2023-03-09 10:10:36 906

原创 多个setstate的合并

在同步方法内执行setState,多个setState会被合并成一个执行在异步方法内执行setState,多个setState会分开执行/*** desc: 打开控制台查看打印结果// 列表刷新 const [ results1 , setResults1 ] = useState('results1');console . log('请求结束' , res . json());saveData(` 异步- ${ new Date() . getTime() } `);

2023-01-31 14:25:53 531

原创 react中使用useEffect模拟componentDidUpdata(使 useEffect 在渲染时不执行,只在数据变更时执行)

在列表搜索条件变化时,需要保存搜索条件,但是保存搜索条件这个方法不需要在组件挂载时执行,即如何使 useEffect 在渲染时不执行,只在数据变更时执行(即模拟类组件的componentDidUpdata)

2023-01-31 11:30:24 1078 2

原创 Typescript中的类型联动

typescript类型联动,指的是一个对象中,A属性的值变化,会引起B属性的类型变化。

2022-12-15 17:07:18 345 1

原创 JSON Schema的应用(具体的使用场景)

借助vue、react框架组件化理念以及动态渲染组件能力,涌现了许多基于JSON Schema配置文件渲染表单或者组件的库,有效解决通用性组件大量重复使用的场景。通过JSON配置组件乃至页面,能够使代码转化为文件,使数据得以导入导出,便于迁移储存。另外也可以开发可视化编辑器,通过拖拽交互,生成JSON文件,降低开发使用难度。基于这一系列的方案,使开发效率大大提升和降低后续的代码维护。

2022-10-21 17:58:46 3753

原创 react 图片剪切(react-easy-crop)

react实现图片剪切

2022-09-29 11:53:39 2083

转载 Vue 中 computed ,watch,methods 的异同

computed 计算属性只有在相关的数据发生变化时才会改变要计算的属性,当相关数据没有变化是,它会读取缓存。1、watch和computed都是以Vue的依赖追踪机制为基础的,它们都试图处理这样一件事情:当某一个数据(称它为依赖数据)发生变化的时候,所有依赖这个数据的“相关”数据“自动”发生变化,也就是自动调用相关的函数去实现数据的变动。当处理页面的数据变化时,我们有时候很容易滥用watch, 而通常更好的办法是使用computed计算属性,而不是命令式的watch回调。

2022-09-23 16:29:15 229

原创 react中获取dom元素的高度(table铺满屏幕剩余高度)

react中获取dom元素的高度(table铺满屏幕剩余高度)使用antd写了一个table,为了交互上友好;要求如下1. 下图红色区域铺满屏幕剩余高度;2. table高度不限,有纵向滚动条;3. 页面不允许出现纵向滚动条;

2022-08-10 19:07:10 5391

原创 lerna publish时报错 E401 [UNAUTHORIZED] Login first

lerna publish时报错 E401 [UNAUTHORIZED] Login first

2022-08-02 13:18:59 2247 1

原创 safari浏览器打不开localhost(http)本地环境,将资源指向了https

使用umi(2.0)启动项目进行本地开发例如:使用safari浏览器访问本地地址后报错如下(谷歌浏览器正常)注释掉如下mate标签原理解析:HTTP Content-Security-Policy(CSP) upgrade-insecure-requests指令指示用户代理将站点的所有不安全 URL(通过 HTTP 提供的 URL)视为已替换为安全 URL(通过 HTTPS 提供的 URL)。该指令适用于具有大量需要重写的不安全遗留 URL 的网站。CSP: upgrade-insecure-reque

2022-06-21 10:30:58 2679

原创 umi项目中使用html-loader引入html文件报错`this.getOptions is not a function`

通过umi配置项chainWebpack添加了`html-loader`,运行项目的终端报错`TypeError: this.getOptions is not a function`

2022-06-06 17:13:45 926 1

原创 Formily 如何开发一个自定义表单控件(上)

背景在我们使用formily开发的时候,不可避免会遇到定制组件的需求。定制组件主要分为两种情况:该功能底层组件支持,需要属性映射该功能底层组件不支持,需要对底层组件进行定制开发本篇文章介绍第一种情况,该功能底层组件支持,需要属性映射编码实战schema中有一个自定义的属性withCount,input本身没有该属性,需要通过mapProps做映射处理demo地址demo-定开组件-属性映射组件jsimport React, { useMemo } from 'react';im

2022-05-19 15:35:41 4605 2

原创 typescript报错:当switch的条件为true时ts没有校验case中的条件

问题描述当switch的条件为true时ts没有校验case中的条件有问题的代码type Pos = { index: number; deviation: string; }| null |false; const getPos=(type:number):Pos=>{ switch (type) { case 1: return { index: 1, deviation: '1'}; case 2: return null;

2022-05-06 16:33:04 1140

原创 JS POST请求发送文件同时发送其他参数

通常的POST请求的业务场景,不是上传文件,就是提交表单,很少遇到上传文件同时需要提交表单信息,但是如果遇到了应该如何处理呢?let formData = new FormData(); // 创建form对象formData.append('file', file); // 通过append向form对象添加文件数据formData.append('a', 'a'); // 添加form表单中其他数据formData.append('b', 'b'); // 添加form表单中其他数据const

2022-05-05 14:57:18 3854 1

原创 lerna 生成自定义日志changelog

背景使用lerna自带的配置生成自定义的日志--changelog-presetlerna version --conventional-commits --changelog-preset angular-bitbucket默认情况下,更改日志预设设置为angular. 在某些情况下,您可能想要更改使用另一个预设或自定义预设。预设是常规变更日志的内置或可安装配置的名称。Presets 可以作为包的全名或自动扩展的后缀(例如,angular扩展为conventional-changelog-an

2022-04-28 17:57:33 1587

转载 深入 lerna 发包机制 —— lerna version(源码解析)

最近在公司做的 monorepo 相关工具开发的时候有涉及到这方面的内容,于是对这方面进行了一些研究。lerna 官网关于 lerna 的描述是这样的:A tool for managing JavaScript projects with multiple packages.本质上 lerna 是一个用来管理 monorepo 项目的工具,主要解决了下面的问题:将大型代码仓库分割成多个独立版本化的 软件包(package)对于代码共享来说非常有用。但是,如果某些更改 跨越了多个代码仓库的话将

2022-04-27 15:51:23 1031 2

转载 深入 lerna 发包机制 —— lerna publish(源码解析)

前言:lerna 作为一个风靡的前端 monorepo 管理工具,在许许多多的大型项目中都得到的实践,现在笔者在公司中开发的 monorepo 工具中,monorepo 中子项目的发包能力就是基于 lerna 来完成,因此本篇文章将讲解发包中最关键的命令即 lerna publish。在上一篇文章中介绍完了 lerna version 的运行机制后,那么在本篇文章中我将继续介绍一下 lerna 发包机制中最关键的一个 command 即 lerna publish。现在我们来继续介绍 lerna p.

2022-04-26 10:46:39 3004 1

原创 js中浮点数的计算(求和)

问题描述js中的浮点数有精度问题:浮点数精度问题,比如 0.1 + 0.2 !== 0.3解决方案demo地址把浮点数转化为字符串,模拟实际运算的过程。import React, { useState } from 'react';import { InputNumber } from 'antd';import styles from './FloatNumSum.less';export interface FloatNumSumProps extends React.HT

2022-04-24 19:36:59 4937 4

翻译 typescript 中的 interface 和 type 到底有什么区别?

typescript 中的 interface 和 type 到底有什么区别?

2022-03-01 18:13:35 455

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除