自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (1)
  • 收藏
  • 关注

原创 重写 form-create 中下拉菜单等组件的 fetch 请求为 axios

项目中一般都有实用axios的拦截器创建的请求服务,form-create的自带请求就无法携带token和baseUrl等使用起来非常不便,将其替换。

2023-06-20 14:41:02 765 2

原创 vite + react 项目,处理 Uncaught ReferenceError: global is not defined

找到另一种办法,移除上面的 define.global,在 index.html 或者 main.js 中给global赋值。开发环境不报错 global is not defined,打包也不保 can not load 错误。网上有解决方法是通过配置 vite.config.js 的 define。配置之后,打包出现问题。

2023-05-17 09:50:02 2814 1

原创 Antd样式覆盖问题,总是被一个antd/es/style/index.less的文件覆盖

之前按照文档添加了antd样式,并使用自定义样式覆盖antd样式import 'antd/dist/antd.less'import "@/styles/theme.less"后来发现,theme的样式会再次被一个antd/es/style/index.less的文件样式覆盖试过修改webpack的按需加载style无效我猜测是loadable/component的懒加载导致后引入样式的,于是通过提前引入了该文件后,就没有被覆盖的情况了,如下import 'antd/es/styl

2021-08-26 16:25:02 4493

原创 分享谷歌浏览器崩溃,喔唷,崩溃啦也许有用的解决办法

版本:79.0.3945.117系统 win10 1903原文地址https://wangshuashua.com/technical/3872.html1. 快捷方式路径结尾加 --disable-features=RendererCodeIntegrity2.快捷方式路径结尾 --test-type --no-sandbox3.把chome.exe改名为chrom.exe,...

2020-01-14 15:05:02 4436

原创 java入门记录day1

1.运行class中需要有main方法,2.修饰符的作用default(即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 private: 在同一类内可见。使用对象:变量、方法。注意:不能修饰类(外部类) public: 对所有类可见。使用对象:类、接口、变量、方法 protected: 对同一包内的类和所有子类可见。使用对象:变...

2019-09-20 17:32:42 112

原创 npm设置

设置代理npm config set proxy=http://127.0.0.1:8087npm config set registry=http://registry.npmjs.org关于https经过上面设置使用了http开头的源,因此不需要设https_proxy了,否则还要增加一句:npm config set https-proxy http://server...

2019-08-10 17:28:40 1949

原创 层级对象递归遍历,获取某一层级的全部子对象

/* 将item扁平化, currentDeep 初始深度, depth 目标深度,默认无限, context 初始context */ flattenItem = (item, currentDeep = 0, depth, context = []) => { item.deep = currentDeep;...

2019-07-04 08:51:57 4982

原创 Antd的Form.Item自定义类型输入框

inputGenerator() { const { getFieldDecorator } = this.props.form; return function (name, type, { initialValue = '', rules = [], label = '' }) { let defaultValueInput =...

2019-06-22 18:04:16 8925

原创 [].slice.call()和使用slice转化类数组

slice一般用于截取数据的一个片段,结果返回一个数组slice还可以转化类数组对象,比如arguments在mdn上有相关的解释slice方法可以用来将一个类数组(Array-like)对象/集合转换成一个新数组。你只需将该方法绑定到这个对象上。 一个函数中的arguments就是一个类数组对象的例子。function list() { return Array...

2019-06-19 14:27:02 510

原创 洗牌算法shuffle

常用的洗牌算法,后来发现很多元素都在原来的位置,所以并不是真正的随机排序function shuffle(arr) { arr.sort(() => Math.random() - 0.5)}原因出在sort上面,Array.proptotype.sort(comparefn)comparefn(a, b) 对比同一组的a, b 要求返回总是相同的,而Math.r...

2019-06-15 15:58:26 224

原创 webstorm终端(Terminal,console)设置字体和git bash作为默认终端

字体设置使用gitbash作为默认终端注意是sh.exe不是git bash.exe

2019-06-10 14:47:42 4263

原创 msys-2.0.dll没在指定window...问题

msys-2.0.dll没在指定window...git bash无法打开进入xx\Git\usr\bin将 msys-2.0.dll拷贝到上一级目录,然后在原来的usr\bin目录下执行下面命令rebase -b 0x76000000 ..\msys-2.0.dllrebase -b 0x30000000 ..\msys-2.0.dll然后再用上一级的dll将原来...

2019-06-05 10:30:20 3538

原创 webstorm的postfix completion,.log快捷键设置之类的

一般a.log然后按Tab键就会生成console.log(a);类似这种的模板设置需要用到postfixcompletion比如设置一个console.error(a)通过$EXPR$获取点(.)之前的东西...

2019-06-04 10:19:56 345

原创 webstorm的live templates简单说明

看了好几篇文章,都是复制粘贴了或者睿智翻译了官网的文档,那你还不如直接看官网文档,在最下面简单讲一下变量的使用和预定义方法的使用比如,现在我要设置一个mobx的observable变量模板,点击右边的加号添加一个模板然后编辑模板@observable _$PARAM$ = [];get $PARAM$() { return toJS(this._$PARAM$) }...

2019-06-04 10:06:41 2263

原创 限定时间内数字增长动画,先快后慢

设定一个值跟时间,可选格式化数字(每三位加个逗号),可自定义className<ActiveNumber className="data-number" value={126560} delay={1000} formatNumber />返回一个span标签import React, {Component} from 'react';import PropTyp...

2019-06-01 10:36:01 1077

原创 webstorm不那么常用但熟悉之后很好用的快捷键

ctrl + /注释当前行 ctrl + shift + /在当前位置加注释 ctrl +shift +上下键移动当前代码(块)与上下的换位置(这个牛逼,不用你选取、剪切删除换行,然后粘贴) ctrl + x剪切当前行 ctrl + d复制粘贴当前行(当前选中) ctrl + shift + f全局搜索 ctrl + shift + r 全局替换 双击shift按文...

2019-05-29 11:13:45 196

原创 git fatal: loose object……is corrupt问题

今天一天两次碰到这个问题,估计是电脑或者网络的问题,老是说我.git/objects/里的有一个文件is corrupt网上的解决办法都差不多,反正就是重新生成.git文件夹,这个是其中一个办法,注意如果有未提交代码请务必备份,gitreset --hard会导致工作区代码全部丢失rm -fr .gitgit initgit remote add origin your-g...

2019-05-28 15:30:27 2209

原创 ES6解构赋值里面再解构赋值

一时解构一时爽,一直解构一直爽?var ojb = { aa: { bb: { cc: 'hello', dd: 'world' } }};var {aa: {bb: {cc}}} = ojb;这里的aa,bb,cc分别是什么呢?答案是con...

2019-04-08 18:47:07 801

原创 从输入url到页面呈现经历了什么过程

输入url 如果不是IP地址,解析DNS 建立TCP连接 浏览器发送HTTP请求 服务器返回HTTP响应 关闭TCP连接 浏览器解析文件,渲染页面

2019-04-03 23:49:14 597

原创 防抖和节流

一次点击触发一次事件,当用户频繁点击按钮也会频繁触发事件,但是这里大部分触发都是没有意义的,为了解决这个问题,就需要防抖防抖:任务频繁触发的情况下,只有任务触发的间隔超过指定间隔的时候,任务才会执行。// 防抖函数,返回一个函数 function debounce(fn) { // 用来标记本次点击的计时器 let timeout = null; return...

2019-04-02 19:01:40 148

原创 js中的创建对象方法原型模式和构造函数模式区别

第一次用这个markdown编辑器,感觉挺难用的构造函数模式function Person(name,age,job){ this.name = name; this.age = age; this.job = job; this.sayName = function(){ alert(this.name); }} var pers...

2019-04-01 17:00:56 333

转载 js创建对象的几种方式(工厂模式、构造函数模式、原型模式)

1.工厂模式考虑到在 ECMAScript 中无法创建类,开发人员就发明了一种函数,用函数来封装以特定接口创建对象的细节,如下面的例子所示:function createPerson(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job = job; o.s...

2019-04-01 16:12:10 189

原创 会动的下划线

在看张鑫旭的博客时候,发现他的a标签hover的时候有会动的波浪线,就看了一下具体就是用到了:hover,hover的时候添加一个animation和一个波浪线的svg背景,同时将原来的下划线隐藏(text-decoration: none)具体的animation是修改background-position-x@keyframes waveMove { from {backg...

2019-03-31 22:45:02 159

原创 响应式布局和自适应布局的区别

之前我一直以为这是同一个概念,居然在面试上碰到了,有什么区别呢,我就研究了下来看一下网上的解释1.什么是响应式布局响应式布局就是实现不同屏幕分辨率的终端上浏览网页的不同展示方式。通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验。换句话说就是一个网站能够兼容多个终端,而不是为了每一个终端做一个特定的版本。2.什么是自适应式布局:自适应布局就是指能使网页自适应的显示在...

2019-03-31 18:21:46 6199

原创 通过background-attachment实现视差图像

background-attachments可以让背景图固定,不跟随滚动条滚动通过添加垂直的margin等方式制造透明区域,使得滚动页面时候,用户会有到只有文字在滚动,但是背景却不跟着移动的不同寻常的感觉<div class="wrapper"> <h1>Scroll Down</h1> <!-- <div class="par...

2019-03-31 17:30:39 291

原创 js的同步和异步以及ajax

同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或者继续执行后续操作。异步,则可以在发出功能调用后,不需要得到结果,也可以继续执行后续操作。可以打开F12直接感受一下console.log(0);alert(2);console.log(1);// setTimeout就是一个基础的异步操作setTimeout(() => { alert(3)...

2019-03-30 17:27:30 223

原创 浅析canvas刮刮乐清除圆形区域的实现原理

分析的代码来自神神的蜗牛:https://blog.csdn.net/zhouzme/article/details/78894149关键方法clearRectScratch.prototype.scratch = function(e) { var position = this.getPosition(e); var x = position.x - ...

2019-03-26 23:32:01 529

原创 import和require的区别浅析

1. require是AMD规范的写法,import是ES6模块的写法2.require类似的写法let { a, b, c } = require('module');// import { a, b, c } from 'module';看似只引入了a,b,c,实际上引入了整个模块,然后通过解构赋值给a,b,c赋值对应的模块内容3.require是执行时引入,import...

2019-03-24 14:05:55 1833

原创 css百分比margin

先写一个定宽高div在里面放个p元素<div class="container"> <p>这是文字部分<p></div><style>body { background: #e9e9e9;}.container { width: 1000px; height: 600px;}.container...

2019-03-23 16:50:39 134

原创 一个HTML模板和一个json,如何把这个页面展示出来

题目大概是这个意思,当时糊里糊涂的也没答出来,后来回来想试一下,我的实现方法是用replace<!DOCTYPE html><html><head> <title></title></head><body><div id="scope"> <h1>{{ title }...

2019-03-19 20:53:52 889

原创 js语句代码规范——分号和括号的使用

本文源自《JavaScript高级程序设计》3.1.5语句ECMAScript中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾,如下例所示:var sum = a + b // 即使没有分号也是有效的语句——不推荐var diff = a - b; // 有效的语句——推荐虽然语句结尾的分号不是必需的,但我们建议任何时候都不要省略它。因为加上这个分号可以避免很...

2019-03-19 17:19:53 1172

原创 a++和++a用于赋值时候的区别

a++会先赋值,后自增1,例子var a = 1;var b = a++; // b为1,a为2b++则相反,先自增1,后将值赋给blet a = 1;let b = ++a; // b为2,a为2更直接的例子,直达console.loglet a = 1;console.log(a++); // 1let a = 1;console.log(++1); /...

2019-03-14 16:24:05 1070

转载 HTTP协议

第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。GET 请求指定的页面信息,并返回实体主体。HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用...

2019-02-27 23:12:55 212

转载 前端如何优化网站性能?

最近前端学习群里收藏的一张图,整理的好漂亮分享下如何优化SPA应用的首屏加载速度慢的问题? 将公用的JS库通过script标签外部引入,减小app.bundel的大小,让浏览器并行下载资源文件,提高下载速度; 在配置 路由时,页面和组件使用懒加载的方式引入,进一步缩小app.bundel的体积,在调用某个组件时再加载对应的js文件; 加一个首屏loadin...

2019-02-23 23:59:52 592

原创 call,apply,bind区别

function.call(thisArg, arg1, arg2, arg3)第一个参数改变函数执行上下文,剩下的为函数传入参数function.apply(thisArg, [arg1, arg2, arg3])第一个参数改变函数执行上下文,第二个参数是一个数组,数组内为函数传入参数function.bind(thisArg, arg1, arg2, arg3)和call几...

2019-02-15 17:24:58 98

原创 第一次安装黑苹果MacOS 10.14 Mojave + Win10体验,分享下过程

本人也是小白,折腾了2天把系统装成了,然后又折腾了2天弄驱动虽然一无所获问题挺多,管他呢能装XCODE就完事了分享下安装过程硬件介绍笔记本:三星NP500-R5LCPU:i5-6200U显卡:集显Intel HD520声卡: Realtek ALC256 (驱动失败)网卡:Realtek PCIe GBE Family Controller无线网卡:In...

2019-02-14 16:26:34 24429 5

原创 css实现渐变色字体

h1 { font-family: Arial Helvetica, sans-serif; font-size: 250%; background-image: linear-gradient( 135deg, #EE9AE5 10%, #5961F9 100%); color: transparent; -webkit-background-clip: text;}...

2018-12-06 22:46:58 170

原创 js判断鼠标点击位置是否在圆内

&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;style&gt; html, body { padding: 0; margin: 0; height: 10

2018-11-29 19:55:57 3105 2

原创 js执行

console.log(1);setTimeout(() =&gt; { console.log(2); // 3秒后打印}, 3000);for(let i=0;i&lt;10;i++) { setTimeout(() =&gt; { console.log('inner_' + i); // 1秒后打印出inner的1到10 }, 1000);}console.log(...

2018-11-27 16:55:44 116

原创 es6变量

let几乎可以用在任何地方,离开作用域就会失去意义,原来var在循环外也可以获取到值const可以使得变量无法重新赋值,但并不能保证他的成员变量不变,如果需要保证则需要用到Object.freeze()方法该方法可冻结数组或者对象像冻结后的数组无法push对象冻结后,其成员变量也无法修改const ojb = {name: 'Ming'};Object.freeze(o...

2018-11-27 15:42:06 193

10.14下的efi文件

MacOS 10.14黑苹果EFI

2019-02-14

空空如也

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

TA关注的人

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