自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 markdown线上部署方案

背景在很多的后台管理系统或者门户系统中,经常会涉及到文档的展示,比如说vue的官方网站就存在大量的文档展示。这类文档一般是由PM写好的markdown文档,而前端开发人员就需要快速地将这些md文档部署到我们项目的页面上去。这就涉及到如何将md文档部署到网页上去,展示出和md编辑器一样的效果。markdown展示遇到上述需求,我们脑子里的第一想法是看是否由相关的插件,答案是肯定的。网络上有很多解析markdown文档的插件,比如说vue-markdown,marked.js,showdown,mavon

2020-12-11 16:21:58 2008

原创 promise控制并发请求数量

有这样一个面试题目:有 8 个图片资源的 url,已经存储在数组 urls 中(即urls = [‘http://example.com/1.jpg’, …., ‘http://example.com/8.jpg’]),而且已经有一个函数 function loadImg,输入一个 url 链接,返回一个 Promise,该 Promise 在图片下载完成的时候 resolve,下载失败则 reject。但是我们要求,任意时刻,同时下载的链接数量不可以超过 3 个。请写一段代码实现这个需求,要求尽可能

2020-11-19 17:35:24 1501

原创 axios.all与Promise.all并发请求

前言在工作中当我们的项目来到一个新的页面需要发多个请求,而这些请求的数据又毫不相干时,我们可以采取并发请求的方式。目前并发请求主要有Promise.all和axios.all两种方式,下面做详细介绍。Promise.allPromise.all 方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。var p = Promise.all([p1,p2,p3]);上面代码中,Promise.all 方法接受一个数组作为参数,p1、p2、p3 都是 Promise 对象的实例。

2020-11-18 16:35:10 7483

原创 qiankun微前端方案实践

关于微前端及qiankun,网上已有大量文章详细介绍了,本文不做赘述,只是附上根据不同侧重点介绍的文章链接。官方文档qiankun官方文档技术细节及原理介绍可能是你见过最完善的微前端解决方案vue实践指导基于qiankun的微前端接入笔记qiankun 微前端方案实践及总结下面主要记录一下我在实际开发过程中遇到的问题和解决问题的方案实际问题qiankun加载样式表不完整,导致主应用与子应用来回切换时样式丢失。我们的项目主应用是一个比较完整的项目,后来需要增加一块功能且这块功能需要单

2020-11-17 14:28:28 808

原创 文字图标居中对齐

在日常开发中,我们常遇到文字图标一行垂直居中对齐,使我们感到头疼。经过搜罗和实测,常用的方法有如下几种:vertical-align先说说vertical-align属性,看看他的定义定义和用法:vertical-align 属性设置元素的垂直对齐方式说明:该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。根据以上说明,我们可以得知这个属性的一些关键用法:该属性的作

2020-11-16 10:04:19 1272

转载 js数组拍平(数组扁平化)的六种方式

数组拍平也称数组扁平化,就是将数组里面的数组打开,最后合并为一个数组。常用实现方式有以下几种:var arr = [1,2,[3,4,5,[6,7,8],9],10,[11,12]];1.递归实现function fn(arr){     let arr1 = [] arr.forEach((val)=>{ if(val instanceof Array){ arr1 = arr1.concat(fn(val))

2020-10-12 17:07:30 6932 1

原创 函数柯里化

什么是柯里化维基百科上说道:柯里化,英语:Currying,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。看这个解释有一点抽象,我们就拿被做了无数次示例的add函数,来做一个简单的实现。// 普通的add函数function add(x, y) { return x + y}// Currying后function curryingAdd(x) { return function (y) {

2020-10-12 14:57:02 193

原创 移动端页面适配方案

获取布局视口的宽度:document.documentElement.clientWidth获取设备css像素(屏幕尺寸):window.screen.width<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1″>width:控制 layout viewport 的大小,可以指定的一个值,如 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为

2020-09-23 11:10:55 1126 1

原创 pc端页面适配方案

一、pc端常见屏幕宽度分辨率比例和设备尺寸800*6001024*500(8.9寸)1024*768比例4:3) (10.4寸、12.1寸、14.1寸、15寸; )1280*800(16:10 ) (15.4寸)1280*1024(比例:5:4 ) ( 14.1寸、15.0寸)1280*854(比例:15:10 ) ( 15.2)1366*768(比例:16:9 )1440*900(16:10 ) ( 17寸 仅苹果用)1

2020-09-14 15:32:18 16686

原创 js函数防抖与节流

引入原文:函数防抖和节流(侵删)在前端开发的过程中,我们经常会需要绑定一些持续触发的事件,如 resize、scroll、mousemove 等等,但有些时候我们并不希望在事件持续触发的过程中那么频繁地去执行函数。通常这种情况下我们怎么去解决的呢?一般来讲,防抖和节流是比较好的解决方案。让我们先来看看在事件持续触发的过程中频繁执行函数是怎样的一种情况html 文件中代码如下<div id="content" style="height:150px;line-height:150px;tex

2020-07-29 14:09:46 155

原创 计算机网络之应用层与传输层

一、概述OSI分层(7层)物理层、数据链路层、网络层、运输层、会话层、表示层、应用层TCP/IP分层(4层)网络接口层、网络层、运输层、应用层五层协议(5层)物理层、数据链路层、网络层、运输层、应用层五层结构的概述1.应用层:通过应用进程间的交互来完成特定网络应用数据:报文协议:HTTP, SMTP(邮件), FTP(文件传送)2.运输层:向两个主机进程之间的通信提供通用的数据传输服务数据:TCP:报文段,UDP:用户数据报协议:TCP, UDP3.网络层:

2020-06-09 14:43:28 4371

原创 常用工具函数

1.日期格式化function formatDate (date, fmt) { var o = { "M+": date.getMonth() + 1, "d+": date.getDate(), "h+": date.getHours(), "m+": date.getMinutes(), "s+": date.getSeconds(), "q+": Math.floor((date.getMont

2020-06-04 15:06:20 149

原创 JS Date对象

一、创建日期对象Date 对象用于处理日期和时间,可以通过 new 关键词来定义 Date 对象。1.创建当前日期时间对象var d = new Date();// Tue Jun 02 2020 10:10:01 GMT+0800 (中国标准时间)2.创建指定日期时间对象方法1:参数为毫秒数[Number]// 方法1:参数为毫秒数[Number]new Date(milliseconds) // 参数为 1970 年 1 月 1 日 00:00:00至指定日期的毫秒数var d =

2020-06-02 17:10:00 142

原创 vue cli 3.0 项目版本更新后文件存在缓存问题解决方案

1.HTML文件需设置不保存缓存<meta http-equiv="pragram" content="no-cache" /><meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate"/><meta http-equiv="expires...

2020-05-06 11:04:18 2489

转载 axios封装接口与统一处理异常

一、axios的封装axios是vue官方推荐的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json、客户端防御XSRF等。安装npm install axios; // 安装axios引入一般我会在项目的src目录中,新建一个request文件夹,然后在里面新建一个http.js和一个api.js文件。http.js文件用来封...

2020-04-24 15:42:30 1359

翻译 git使用总结

git使用总结概念1.Git的四个组成部分2.文件的几个状态按大类划分,分为两种状态:Tracked(已跟踪)和Untracked(未跟踪),依据是:该文件是否已加入版本控制流程简述:假设某个项目已加入版本控制系统新建一个文件,该文件处于 Untracked 状态;通过git add命令添加到缓存区,此时文件处于Tracked状态。又或者说此时这个文件已经被版本控制系统所...

2020-04-22 17:43:06 254

空空如也

空空如也

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

TA关注的人

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