自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

衣乌安、随笔

或许走的很慢,但一定是在向前走。。。

原创 历史chrome(离线)版本下载

传送门:https://www.portablesoft.org/google-chrome-legacy-versions/注意想要再离线情况下安装需要直接解压下载后的包,不要直接运行

2020-07-21 19:09:10 20

原创 vscode 中智能化自动提示webpack配置项

vscode 中智能化自动提示webpack配置项在这里,我想跟你分享我在编写 Webpack 配置文件时用过的一个小技巧,因为Webpack 的配置项比较多,而且很多选项都支持不同类型的配置方式。如果你刚刚接触 Webpack 的配置,这些配置选项一定会让你感到头大。如果开发工具能够为Webpack 配置文件提供智能提示的话,这种痛苦就会减小很多,配置起来,效率和准确度也会大大提高。我们知道, VSCode 对于代码的自动提示是根据成员的类型推断出来的,换句话说,如果 VSCode 知道当前变量的类型

2020-07-01 21:24:21 186

原创 干了这碗,谈谈毕业前后这两年的感悟

首先粗略介绍一下我的情况,19年渣渣一本毕业,一脚迈进了前端坑,一小厂开发,从实习到现在一年多了。。。 如果你即将毕业,或毕业不久或许看完会有用(如果没有就当故事吧,不过不能下酒?)这篇文章的起因偶然间发周报时看到了邮箱中的历史邮件,当年(虽然也就才一年多些)的几封日、周报:还有几封被我我自己星标的邮件,每一封里面都有着leader的一些回复和鼓励,时间不长但回头看来还是有些热泪盈眶的感觉。要知道自己想要什么当年进大学时就坚定了一个“信念”,死读书还是没啥意思的,考试不挂科是底线就行,

2020-06-21 17:05:51 444 4

原创 Failed to connect to raw.githubusercontent.com port 443: Connection refused

mac 安装brew报错相信很多国内很多小伙伴使用mac安装brew的时候都遇到过类似问题,明明按照官网的命令来的却偏偏报错。其原因就是由于我天朝帝国的某些政策原因导致域名不能够正确的解析到对应的ip地址。这里列出两种解决方案:1. 修改hosts,帮助域名得到正确解析sudo vim /etc/hosts修改完以后在安装/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/ins

2020-06-21 16:27:12 410

原创 node命令行获取参数

node命令行获取参数随着前端工程化的演变,在项目中时常会需要自己写一些脚本来方便完成一些自动化的流程操作,而对于前端开发来说,node可能是首选了,为了我们脚本使用更加灵活,往往需要支持使用者传入一些参数来方便配置使用。比如我们希望可以这样:node script.js 1其中script.js是我们写好的脚本,1是我们使用的参数。那么怎样可以在脚本中获取到呢?便是通过process.argv获取。// script.jsconst args = process.argv.slice(2

2020-06-12 10:39:10 90

转载 字母数字特殊字符部分unicode对照表

 Bin(二进制) Oct(八进制) Dec(十进制) Hex(十六进制) 缩写/字符 解释 0000 0000 0 0 00 NUL(null) 空字符 0000 0001 1 1 01

2020-06-08 15:27:09 171

原创 node获取用户home目录

有时候我们需要获取用户home目录,可以这样:const USER_HOME = process.env.HOME || process.env.USERPROFILE其中 mac、linux下使用:process.env.HOMEwindows下使用:process.env.USERPROFILE

2020-06-01 21:37:49 147

原创 你的组件库还不支持按需加载吗?

很多的团队都会根据自己团队的技术风格或应用场景建立自己的组件库,然鹅随着组件的增加,组件库的体积也变得越来越大,如果一个很小的项目,仅仅想使用某个组件库中一两个组件,而这个组件库十分庞大却不支持按需加载,其结果就是打包后发现引入组件库的体积甚至比项目本身的代码还要大N倍。那么如何让组件库支持按需加载呢?以React项目为例,首先从打包后的包来分析,可能在没有支持按需加载时类似这样:.├── dist| ├── index.js| ├── style.css| ├── ...|.

2020-05-28 20:10:23 240

原创 手写JavaScript call、apply实现及解析

面试中经常会遇到这样的问题了解call或者apply函数吗?有什么作用?第一反应就是:改变this指向。。巴拉巴拉。。。那手写一个呢?Function.prototype.myCall = function (context = window, ...args) { if (this === Function.prototype) { return undefined; // 用于防止 Function.prototype.myCall() 直接调用 } contex

2020-05-25 21:04:09 59

原创 js科学计数法转数字

推荐使用: decimal.jsgithub: https://github.com/MikeMcl/decimal.js/文档: http://mikemcl.github.io/decimal.js/

2020-05-25 19:58:47 60

原创 nginx location 匹配规则

nginx location 匹配规则匹配规则是:先匹配非正则,在匹配正则,正则匹配是有顺序的,从上到下依次匹配location = /uri    = 开头表示精确匹配,只有完全匹配上才能生效。location ^~ /uri   ^~ 开头对URL路径进行前缀匹配,并且在正则之前。location ~ pattern  ~ 开头表示区分大小写的正则匹配。location ~* pattern  ~* 开头表示不区分大小写的正则匹配。location /uri     不带任何修饰符,也表示

2020-05-21 19:08:58 60

原创 markdown 页面锚点设置

markdown 页面锚点设置和html页面中设置锚点类似:链接:[跳转](#target)或<a href='#target'>跳转</a>锚点:<a id='target'>跳到这里</a>

2020-05-13 11:02:03 122

原创 你会用React Hooks吗?

简介优势劣势官方APIuseStateuseReduceruseEffectuseLayoutEffectuseMemouseCallbackuseRefuseImperativeHandleuseContextmemocustomHooks注意事项简介本文主要针对React `16.8.x`提供的`hooks`使用加以介绍,更高版本的中的`hooks`暂无介绍优势代码量少(最直观的体现)相较于 类组件 使用HOC、render props , hook.

2020-05-12 21:05:29 136

原创 迅 捷PDF编辑器去水印

好多pdf编辑器编辑pdf后会添加上该软件水印,除非开什么会员啥的,看着太恶心,怎么去掉呢?其他pdf编辑器理论上有类似功能也~看图~文档 -->水印-->管理-->编辑-->不透明度改为0...

2020-05-08 14:34:44 27486 20

原创 强制刷新react hooks组件

首先要知道react组件在什么情况下会刷新,比如:state、props更新。。。。然后就有各种方式可以强行刷新组件了,比如:const [refresh, setRefresh] = useState(false);useEffect(() => { refresh && setTimeout(() => setRefresh(false))},...

2020-04-23 19:31:07 2267

原创 如何判断两个Object类型数据内容相同

JSON.stringifyconst isEqual = (a, b) => { return JSON.stringify(a) === JSON.stringify(b)}缺点:会忽略 undefined会忽略 symbol不能序列化函数如果确定不会有上述内容,可以使用递归判断每个字段const isEqual = (a, b) => { ...

2020-04-20 14:02:51 96

原创 echarts 坐标轴名称位置自定义

旋转: nameRotate, 旋转度数名称与坐标轴间距: nameGap , 间距大体位置调整:nameLocation, end、start、center三种选项but想要是坐标轴名称放到任意位置的话,比如:可以使用nameTextStyle.padding来做调整...

2020-04-09 15:45:07 1116

原创 用黑白的纯净致敬逆行者

今天,举国哀悼,同时向逆行者致敬,许多网站纷纷响应,将五颜六色的元素纷纷置为黑白,其实只需简单修改html的css样式即可html { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(10...

2020-04-04 22:38:16 62

原创 css 自定义滚动条样式

总是记不住这几个修改滚动条的伪类,抄过来记录一下:你可以使用以下伪元素选择器去修改各式webkit浏览器的滚动条样式: ::-webkit-scrollbar — 整个滚动条. ::-webkit-scrollbar-button — 滚动条上的按钮 (上下箭头). ::-webkit-scrollbar-thumb — 滚动条上的滚动滑块. ::-webk...

2020-04-02 11:35:49 44

原创 由 Credentials 引起的cors跨域问题

Access-Control-Allow-Credentials首先介绍一下Access-Control-Allow-Credentials这个响应头字段:Access-Control-Allow-Credentials,标志是否允许客户端请求携带Credentials(凭证)。Credentials可以是 cookies, authorization headers 或 TLS client...

2020-03-31 19:40:30 413

原创 简单字符验证码的实现

验证码的通用作用就是防止机器(爬虫)大规模的采集数据,防止不法分子通过抓包获取数据来模拟用户操作而产生危害用户的行为等。为满足以上简单需求,首先验证码的字符不能放在html标签里面,这可以被爬虫直接获取,因此采用canvas来绘制。为增加爬虫识别难度,对字符进行一定程度是旋转,添加干扰线和干扰点。(虽然以现在机器学习的能力这些别没有什么卵用,但简单的验证码都是这么做的,考虑更为安全的方式可以选择...

2020-03-30 10:34:03 69

原创 forever 管理node服务

使用node作为服务端搭建项目时就会遇到一个问题,启动服务是往往是在终端执行类似命令:node ./app.js当客户连接断开,服务也随之停止。然后通过Ctrl + c来关闭服务。然而当终端不小心关闭以后,客户连接没有断开,想要关闭或重启服务就只能通过查找对应的端口进程pid然后kill掉。lsof -i:[端口号]kill -9 [pid]每次操作前都要确认一下是否为目标进程...

2020-03-16 16:14:37 227

原创 commonJS require 加载机制&&缓存和删除

众所周知,Node使用CommonJS模块规范,内置require命令用于加载模块,而与ES6的模块规范其中一点不同就是,require加载模块以后会生成一个缓存,这就意味着,第一次加载某个模块以后,之后再次加载的话也不过是从缓存中获取,而非再次重新加载该模块。举个栗子:a.jslet a = { a: 1}module.exports = a;b.jslet a ...

2020-03-16 11:27:49 230

原创 windows下打开sketch文件

现在UI一般都用sketch来做设计,但可能因为各种原因,前端同学并不能使用mac来开发,而是用windows,就会有比较恶心的事情了。。。。打不开sketch文件,因此推荐一款能够在windows下打开sketch文件的免费应用软件—— Lunacyhttps://icons8.cn/lunacy虽然没有sketch好用,但至少是可以用的...

2020-03-10 11:39:00 878

原创 常用GoogleHacking语法

1、intext:(仅针对Google有效)把网页中的正文内容中的某个字符作为搜索的条件2、intitle:把网页标题中的某个字符作为搜索的条件3、cache:搜索搜索引擎里关于某些内容的缓存,可能会在过期内容中发现有价值的信息4、filetype:指定一个格式类型的文件作为搜索对象5、inurl:搜索包含指定字符的URL...

2020-03-08 18:11:41 76

原创 express 解决cors跨域

可以使用cors这个库npm install --save cors加入以下代码:const cors = require('cors');app.use(cors())可以看到response header中添加了运行任何地址访问。如果想加以限制允许指定方法或地址的话可以:app.use(cors({ origin:['http://local...

2020-03-04 15:06:59 126

原创 windows下关闭端口进程

查看指定端口占用情况:netstat -ano |findstr 1024a :显示所有连接和侦听端口n:以数字方式显示地址和端口号o :显示关联的PID终止进程:taskkill /pid PID号 /F然后可以再次执行命令查看端口占用情况确认进程是否关闭...

2020-03-04 14:35:39 162

原创 node-sass下载失败报错

在网络状态不好或被隔离的情况下安装node-sass经常会遇到以下问题:Cannot download "https://github.com/sass/node-sass/releases/download/v4.13.1/linux-x64-72_binding.node": ETIMEDOUT解决方案:1、使用淘宝源下载:SASS_BINARY_SITE=https:...

2020-02-29 20:22:48 249

原创 leaflet自定义toolTip样式

leaflet自带tooltip相关api,支持传入自定义内容,但容器不支持自定义样式,通过leaflet源码_initLayout函数可以找到生成的tooltip的class名leaflet-tooltip等,然后就可以通过修改对应样式自己自定义样式了layer.bindTooltip( `<div > </div>`, { direction:...

2020-02-24 18:06:09 1270

转载 Immer 实用中文文档

from: https://github.com/ronffy/immer-tutorial/blob/master/README.md前言Immer 是 mobx 的作者写的一个 immutable 库,核心实现是利用 ES6 的 proxy,几乎以最小的成本实现了 js 的不可变数据结构,简单易用、体量小巧、设计巧妙,满足了我们对JS不可变数据结构的需求。无奈网络上完善的文档实在太少,所...

2020-02-21 17:36:51 298

原创 geojson 文件获取途径

分享两个geojson获取的途径:https://github.com/yezongyang/china-geojson http://datav.aliyun.com/tools/atlas/#&lat=33.50475906922609&lng=104.2822265625&zoom=4

2020-02-06 16:19:11 245

原创 纯css实现波浪球

其实利用不规则园旋转实现,打开浏览器看下代码就知道了<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"...

2020-01-15 17:14:39 120

原创 Echarts设置不同柱子颜色

{ series: [ { itemStyle: { normal: { //每根柱子颜色设置 color: function(params) { let colorList = [ ...

2020-01-11 12:06:17 102

原创 git基于tag创建分支

现在主分支上有一个tag为v1.0.0,主分支的名字为master.1.执行:git origin fetch 获得最新.2.通过:git branch <new-branch-name> <tag-name>会根据tag创建新的分支.例如:git branch newbranch v1.0.0.会以tag v1.0.0创建新的分支newbranch;3...

2020-01-08 16:00:33 559

原创 浏览器存储几种方式简介

往往做项目时会有一些特殊的需求,需要将一些信息存储到本地,如鉴权token、登录信息等这时一些不必要的请求就可以通过使用浏览器本地存储的方式来避免。常用的浏览器存储方案有哪些呢?主要有:cookie、localStorage、sessionStorage以及indexDB。本文将对此进行简要介绍cookie属于文档对象模型DOM树根节点document,而 sessionStorage、loc...

2020-01-07 15:09:16 163

原创 sass px转rem适配方案

// rem$browser-default-font-size: 16px ;html { font-size: $browser-default-font-size;}@media screen and (max-width: 1200px) { html { font-size: 14px; }}@media screen and (...

2020-01-07 10:27:47 139

原创 vscode自定义高亮霓虹灯效果主题

参考:https://github.com/robb0wen/synthwave-vscode 做了部分调整SynthWave '84 这个主题不建议使用,实用效果不好。(虽然很‘炫’myTheme.css.mtk3 { color: #f92aad; text-shadow: 0 0 2px #100c0f, 0 0 4px #dc078e33, 0 0 8px #fff...

2020-01-04 12:30:35 811

转载 sass 内置的函数

1. 字符串函数1.1 quote()quote($string)给$string前后添加引号。//SCSS:p:after{ content: quote(hello +' '+ sass); //中间有空格(其他特殊符号)需要拼字符串;quote(hello sass); 直接这样会报错;}p:before{ content: quote('This\'s...

2019-12-27 15:23:00 89

原创 react router BrowserHistory模式Nginx配置

location / { try_files $uri /index.html;}

2019-12-26 19:22:46 352

原创 sass中calc()和变量同时使用

在sass中想同时使用calc()和变量以下写法是不可行的$height: 20px;.demo { height: calc(100% - $height);}这样写经过编译在浏览器中显示结果如下:要想变量生效需要使用以下写法:$height: 20px;.demo { height: calc(100% - #{$height});}...

2019-12-23 11:47:51 76

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