自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

flitrue的博客

专注于WEB开发和互联网发展

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

原创 面试题:使用promise实现并发请求限制(最优解)

问题:有 8 个图片资源的 url,已经存储在数组 urls 中,而且已经有一个函数 function loadImg,输入一个 url 链接,返回一个 Promise,该 Promise 在图片下载完成的时候 resolve,下载失败则 reject。但是我们要求,任意时刻,同时下载的链接数量不可以超过 3 个。请写一段代码实现这个需求,要求尽可能快速地将所有图片下载完成。之前看过很多答案都不够好,索性自己动手实现了一下var urls = [ "https://www.kkkk1000.c.

2021-10-12 15:59:06 2461

原创 理解npm包管理机制

推荐文章https://segmentfault.com/q/1010000004114972?_ea=496109https://blog.csdn.net/azl397985856/article/details/103982369/

2020-10-17 14:12:49 401

原创 git clone --mirror -q git://github.com/adobe-webplatform/eve.git

解决办法:git全局添加一个属性git config --global url."https://".insteadOf git://然后,重新npm install

2020-07-28 10:47:37 3987 2

原创 重写audio元素样式

audio { display: block; width: 200px; height: 40px; outline: none; filter: invert(180);}/* 隐藏下载按钮及设置audio样式 */audio::-webkit-media-controls-enclosure { background: rgba(255, 93, 0, .8); border-radius: 4px; overflow: hidden; border: 1p

2020-07-06 16:50:41 663

原创 ESLint常用规范

ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误。

2020-06-19 20:41:43 481

原创 2020: Vue和React生命周期

Vue 生命周期vue2有9个生命周期钩子vue3也有9个生命周期钩子2.x和3.x钩子的对应关系:beforeCreate -> 使用 setup()created -> 使用 setup()beforeMount -> onBeforeMountmounted -> onMountedbeforeUpdate -> onBeforeUpdateupdated -> onUpdatedbeforeDestroy -> onBeforeUnm

2020-06-03 11:00:57 593

原创 Pre-commit:如何使用 husky、lint-staged和prettier优化你的项目

在软件开发过程中,代码风格检查(Code Linting)是保障代码规范和一致性的有效手段。过去,Lint 的工作一般在 Code Review 或者 CI 的时候进行,但这样会导致问题的反馈链,浪费不必要的时间。因此,我们需要利用 Git 的 Pre Commit 钩子,将 Lint 过程放到开发者提交代码之前。

2020-05-25 14:42:44 3670

原创 什么是高阶函数和纯函数?

高阶函数是一个接收函数作为参数或将函数作为输出返回的函数。纯函数的三个条件:给定输入,无论什么时候调用,无论调用多少次,输出总是确定无疑的;在函数内部不可以改变函数外部对象的状态;纯函数内部的状态在纯函数执行完毕后就被销毁了;...

2020-04-07 09:59:40 451

原创 require和import的区别?exports和module.exports的区别?export和export default的区别?

CommonJs模块是运行时加载,ES6模块是编译时输出接口。require是commonjs规范中导入模块的语法;import是ES6规范中导入模块的语法;require支持动态导入;import不支持动态导入,但是在babel下支持;require是同步导入;import是异步导入;require导入的是值的拷贝,导出值变化不会影响导入值;import导入的是值的引用,导入值会...

2020-04-03 15:11:23 88

原创 算法题:两个有序数组合并(最优解)

面试常用的算法题:两个有序数组合并。

2020-04-03 14:31:53 830

原创 https加解密流程图

2020-03-31 13:54:28 391

原创 nodejs中的EventLoop

先执行所有类型为 timers 的 MacroTask,然后执行所有的 MicroTask(注意 NextTick 要优先哦);进入 poll 阶段,执行几乎所有 MacroTask,然后执行所有的 MicroTask;再执行所有类型为 check 的 MacroTask,然后执行所有的 MicroTask;再执行所有类型为 close callbacks 的 MacroTask,然后执行所有的 MicroTask;至此,完成一个 Tick,回到 timers 阶段;……如此反复,无穷无尽……

2020-03-18 21:25:32 259

原创 gulp和webpack的区别

基本区别:gulp可以进行js,htm,css,img的压缩打包,是自动化构建工具,可以将多个js文件或是css压缩成一个文件,并且可以压缩为一行,以此来减少文件体积,加快请求速度和减少请求次数;并且gulp有task自定义处理事务,从而构建整个流程,它是基于流的自动化构建工具。webpack是前端构建工具,实现了模块化开发和文件处理。它的思想就是“万物皆为模块”,它能够将各个模块进行按需加载...

2020-03-07 21:19:34 1790

原创 深入了解Object.freeze()和Object.seal()

本篇文章主要深入介绍ES6中Object.freeze()和Object.seal()的新特性,方便大家理解。

2019-12-24 10:56:39 2313

原创 如何写出高效的 Vue 代码

- 为什么我们写的代码总是被吐槽?- 为什么我们写的代码总是那么格格不入?- 为什么我们写的代码 bug 总是比别人多?本篇文章内容将涉及如下:- 养成良好的代码书写规范- 如何写出有逼格的 Vue 组件- 理解 Vue 双向绑定原理- 如何保证高效的协同开发

2019-12-14 20:47:45 839

原创 1024快乐!浅谈scrollTop需要踩的坑

对于没有实战过的同学来说,scrollTop使用起来会有一些小坑,今天借着1024节帮大家填一下坑。

2019-10-24 18:49:56 519

原创 如何理解防抖debounce和节流throttle

本人通过阅读网络上防抖和节流多篇相关的文章,并借鉴相关案例进行说明。防抖防抖就像人眨眼睛一样,不可能不停的眨,每隔一定时间眨一下,防止眼睛干涩,如果不停眨眼,别人以为你眼睛有毛病了。再举一个例子,比如两个人对话,A不停的balabala(持续触发),如果A说话的时候有停顿,但是停顿的时间不够长,B就认为A还没说完,当A停顿时间超过足够长(一定间隔)就认为A说完了,然后B开始说(响应)。节流...

2019-10-15 13:16:45 431

原创 调整浏览器滚动条样式

我们知道浏览器自带滚动条很丑,有时影响整个页面到美观,尤其在页面内嵌一个滚动列表,显得奇丑无比,下面我们根据如下代码调节滚动条样式...

2019-08-13 13:31:01 630 1

原创 js实现千位分隔符运算

经常在工作中遇到将一长串数字格式为以千位分隔符分隔的方式显示,下面提供三种实现方式。

2019-07-17 15:06:02 3063

原创 Vue和React的生命周期

Vue 生命周期vue生命周期主要有8个,react生命周期主要有7个,你知道吗?

2019-07-10 23:30:40 385

原创 vscode设置命令行启动

在mac中如何通过命令打开VS Code,有两种方法,推荐使用第一种。

2019-06-05 17:51:57 13258

原创 一键安装全局npm模块

当我们使用nvm管理node,切换node版本时,安装在全局的npm包无法共用之前node版本中的npm包,需要重新下载所有的全局模块...

2019-04-25 13:59:22 1452

原创 nginx开启ssl证书

修改listen为443如果你又开启防火墙,还需将443端口放开。在server中添加 ssl on; ssl_session_timeout 5m; ssl_certificate /cert/214050429370638.pem; ssl_certificate_key /cert/214050429370638...

2018-12-04 16:54:03 323

原创 解决vim中文乱码

执行:cd ~vim .vimrc将如下文本复制保存退出即可。set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8

2018-11-28 15:34:31 235

原创 wordpress安装后问题汇总

问题一:wordpress写文章界面点击“添加媒体”和“可视化/文本”无反应解决方法:在wp-config.php中追加 define("CONCATENATE_SCRIPTS", false);问题二:wordpress上传媒体时提示http error通过查看nginx错误日志vim /var/log/nginx/error.log得知:open() “/var/lib/ngi...

2018-11-20 15:05:55 431

原创 nginx开启gzip压缩

nginx安装: yum install -y nginx配置文件默认在/etc/nginx/nginx.conf打开nginx.conf添加 gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 2; gzip...

2018-07-26 19:02:01 181

原创 centos下修改mysql默认端口

mysql5.6安装: wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum -y install mysql mysql-server 默认mysql配置文件位于/etc/my.cnf在...

2018-07-26 18:48:08 7533

原创 node版本管理器——nvm

nvm是管理node版本的一个工具,具体介绍不再赘述,请到GitHub(https://github.com/creationix/nvm)查看。安装Linux / Maccurl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash 或wget -qO- https...

2018-07-25 17:16:24 296

转载 浅谈ES6的Promise对象

相信凡是写过javascript的童鞋也一定都写过回调方法(callback),简单说回调方法就是将一个方法func2作为参数传入另一个方法func1中,当func1执行到某一步或者满足某种条件的时候才执行传入的参数func2,看了这篇文章,你就会对Promise有一个深入对了解。

2018-06-08 17:39:14 215

原创 滚动到顶部的实现方法

简单实现了优雅的滚动到顶部。

2018-05-24 13:13:35 1010

原创 nodejs基础篇(一)

我从2017年开始接触nodejs,到现在用了一年多了,觉得我有必要写点东西出来,记录自己的积累的知识体系,以便更好的掌握nodejs。 nodejs专题不是按照严格的学习历程书写,纯属个人划分的等级。认识AMD、CMD、UMD、CommonJSAMD(Asynchromous Module Definition - 异步模块定义)AMD是RequireJS在推广过...

2018-05-17 15:51:29 378

原创 git删除远程分支

两步删除远程仓库:git branch -r -d origin/dev 删除远程分支 git push origin :dev然后提交到远程 注意: dev分支前的冒号: 不能少

2018-05-10 17:57:49 2291

原创 js如何一次循环删除数组中的多个元素

思路: 数组遍历删除一个元素很容易,通过splice方法删除对应索引的元素即可,但是遍历删除多个元素就复杂了很多,首先不能按索引从小到大的顺序删除,这样可能会导致索引对应的元素发生变化,误删或找不到该索引对应的元素。那如何做到呢?示例 下面的示例即实现了一次循环删除多个元素,又实现了将删除的元素合并到新的数组中let leftData = [1,2,3,4,5] //原...

2018-05-10 14:07:55 11784

原创 flex布局知识点Beta

Flex 布局语法知识点梳理

2017-09-23 16:08:50 453

原创 Cannot resolve module 'fs'

可能很多人都会遇到这个问题,反正我的话已经遇到两次了,上一次解决的时候没有记录解决办法,这次又遇到了,而且国内搜索引擎是搜不到这个问题的解决办法的,所以写个博客记录一下吧,方便广大的开发人员。凡是在源码中引入fsvar fs = require('fs');可能都会报如下错误:Cannot resolve module 'fs'解决办法:在webpack.base.config.js文件中添加:

2017-09-21 19:11:14 16592 8

原创 Cannot resolve module 'child_process'

ERROR in ./~/xmlhttprequest/lib/XMLHttpRequest.jsModule not found: Error: Cannot resolve module 'child_process'

2017-09-21 18:11:00 5680

原创 vi/vim常用配置和快捷键

vi/vim常用配置和快捷键

2017-09-17 22:54:52 458

原创 echarts和highchart的区别

echarts先大体了解一下echarts的历史: echarts是百度公司前端开发的一个图表库。 支持柱状图、饼状图、k线图、map图、热导向图、折线图 主要采用canvas画图。highcharthighcharts是国外的一家公司开发的图表库,主要采用svg画图。 支持的图表也很多,功能也比较强大。到底是echarts强大还是highchart强大呢?因为凡是都有两面性,各有各的优点和

2016-11-21 23:07:53 18757

原创 centos6.5启动nginx报错

问题:nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)解决方案vim /etc/nginx/conf.d/default.conf 将 listen 80 default_server; listen [::]:80 default_serv

2016-10-30 20:09:03 583

原创 Javascript网页打印大全

目录普通打印(整页打)打印去掉/添加页眉页脚 使用外部控件/方法实现多功能打印 打印背景普通打印(整页打)window.print();打印网页内部分内容(自定义)用css控制@media print.a {display:block}.b {display:hidden}把你不想打印的部分class设为b 首先在网页中添加:<OBJECT id="Web

2016-10-27 23:04:50 2885 1

空空如也

空空如也

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

TA关注的人

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