自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编写可维护的 webpack 构建配置

编写可维护的webpack构建配置

2022-07-16 17:37:39 292 1

原创 如何发布第一个npm包

如何发布npm包

2022-07-03 18:11:19 250

原创 webpack学习笔记

下面我们通过一系列demo一步步学习和实践的基本使用。

2022-07-02 23:57:36 251

原创 移动端适配浅析

移动端适配

2022-06-03 00:51:03 739

原创 前端多页面打包通用方案

前端多页面打包通用方案

2022-01-16 20:07:04 1743 1

原创 前端常用的正则校验

可以把所有的校验规则放在rules.js文件里,需要的时候引入/** * 手机号 */export const phoneReg = new RegExp(/^1[3-9]\d{9}$/);/** * 身份证号 */export const idNumberReg = new RegExp(/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/);/** * 姓名,包

2022-01-14 15:56:19 210

原创 mac中安装nvm、npm和node

一、nvm的安装介绍nvmnvm(Node.js Version Manager)也就是 Node.js 的包管理器,可以通过它方便安装和切换不同的Node.js版本。安装nvm去github上https://github.com/nvm-sh/nvm查看安装语法如:通过 curl 安装:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash如果报错:【“curl: (7) Faile

2021-12-06 00:39:42 1015

原创 手写实现promise

function myPromise(constructor){ let self=this; self.status="pending" //定义状态改变前的初始状态 self.value=undefined;//定义状态为resolved的时候的状态 self.reason=undefined;//定义状态为rejected的时候的状态 function resolve(value){ //两个==="pending",保证了状态的改变是不可逆的

2021-08-22 16:30:15 259

原创 通用的数据类型判断方法

实现一个全局通用的数据类型判断方法,来加深你的理解,代码如下:function getType(obj){ let type = typeof obj; if (type !== "object") { // 先进行typeof判断,如果是基础数据类型,直接返回 return type; } // 对于typeof返回结果是object的,再进行如下的判断,正则返回结果 return Object.prototype.toString.call(obj).replace

2021-08-21 16:34:05 134

原创 对双向绑定的理解和总结

主流的mvc(vm)框架都实现了单向数据绑定,即数据(model)变化主动触发ui(view)变化而双向绑定则是,数据(model)变化主动触发ui(view)变化,同时ui(view)变化主动触发数据(model)变化,当然这里的ui变化指定表单中的用户输入,可通俗的理解为:在单向绑定的基础上给可输入元素(input、textarea等)添加change(input)事件,来动态修改model和view双向绑定的简单实现首先通过输入框和P标签展示,通过Object.definePrope..

2021-06-07 17:51:57 1736

原创 开发过程中好用的方法总结

1. 过滤对象指定参数/** * 过滤对象指定参数 * @param {Object} Object * @param {Array} props */export const filterObjectProps = (obj, props) => { const ret = {}; props.forEach((key) => { if (obj[key] !== undefined && obj[key] !== '') {

2021-06-02 15:53:49 105

原创 聚焦表单输入框时,实现屏幕高度增加并上移的效果

关于输入框被键盘遮挡,上移输入框操作业务场景:h5输入表单页面高度为屏幕高度,当表单栏较长时(如超过3-4个),下面的表单容易被键盘遮挡,无法直接切换聚焦和可见输入解决方案:​ 现有情况:表单高度为屏幕高度,键盘为浮动在页面上(此为组件键盘,非系统键盘)​ 第一步:聚焦时,实现屏幕高度增加​ 第二步:实现屏幕上移动(移动距离为屏幕高度增加的距离)​ 第三步: 实现聚焦失焦时,屏幕高度的切换(聚焦时增加高度,失焦时回到屏幕高度)实现的效果:第一步:聚焦时,实现屏幕高度增加(1)在mo

2021-06-02 11:42:50 444

原创 移动端适配方案flexible.js

移动端适配方案flexible.js可本地建立flexible.js文件,内容如下:(function(win, document) { var documentEl = document.documentElement; var maxwidth = 540; var dpr = devicePixelRatio === 4 ? 1 : devicePixelRatio; var tid = null; documentEl.dataset.dpr = dpr;

2021-02-24 11:38:45 197

原创 VConsole的使用和环境区分展示

1.使用cdn方式引入这里(https://www.bootcdn.cn/vConsole/)列举了所有版本的js地址,可以随意选择一个版本复制引入,在public的index.html文件中的标签里加入初始化代码(在head中引入,可将所有的console都打印出来)。如下:<script src="https://cdnjs.cloudflare.com/ajax/libs/vConsole/3.3.4/vconsole.min.js" crossorigin="anonymous">

2021-02-05 19:54:05 1571

原创 JavaScript红皮书学习笔记

JavaScript红皮书学习笔记1.什么是javaScriptJavaScript 历史回顾JavaScript 是什么(实现)​ JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。​ ECMAScript:由 ECMA-262 定义并提供核心功能。​ 文档对象模型(DOM):提供与网页内容交互的方法和接口。​ 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。JavaScript 与 ECMAScript

2021-01-12 16:22:33 569

原创 h5判断被打开的常用客户端来源(支付宝/微信等)

h5通常是由各个客户端或者浏览器打开,但有时候要根据不同客户端展示不同内容,这个时候就需要h5知道是由哪个来源的客户端打开了自己1.客户端的参数通常写在navigator的userAgent参数中,这样前端就可以通过获取这个参数了解客户端的信息了const ua = navigator.userAgent.toLowerCase();2.然后通过获取到的ua参数与你的白名单参数做匹配,利用正则及test或match方法来比对// 微信环境export const isWx = /MicroMes

2021-01-04 15:46:03 2216 1

原创 自定义金额input输入框后加单位及input输入框限制处理

在开发V钻充值模块时,遇到自定义充值模块–自定义金额输入框,发现这块内容的要求较多较复杂,在踩过很多坑后,特此分享经验给大家:要求一:点击后出现光标及单位名称,数字键盘从下而上弹出,去支付按钮随之上移。输入数字后,去支付按钮人民币数额同步变化为相应数字;1.通过input输入框可实现点击后出现光标,且数字键盘从下而上弹起,去支付按钮随之上移(此处为css实现,不多概述),需要注意的是,input里的value初始值为“自定义面额”2.点击后出现单位名称“V钻”我们不能在点击自定义面额按钮后,将i

2020-12-30 17:59:52 2524

原创 Babel 学习笔记

1.Babel是一个工具集,主要用于将ES6版本的JavaScript代码转为ES5等向后兼容的JS代码,从而可以运行在低版本浏览器或其它环境中2.polyfill提供了全局的ES6对象以及通过修改原型链Array.prototype等实现对实例的实现3.配置文件总结起来就是配置plugins和presets这两个数组,我们分别称之为插件数组和预设数组。每个插件或预设都是一个npm包。4.plugins插件数组和presets预设数组是有顺序要求的(如果两个插件或预设都要处理同一个代码片段),规则如下

2020-12-23 14:26:54 497

原创 mac电脑如何配置前端环境

mac电脑如何配置前端环境1.node.js的安装可直接通过官网安装,安装好node后就包含了npmnode官网:https://nodejs.org/en/2.git的安装通过安装homebrew安装git(1)homebrew官网安装官网地址:https://brew.sh/index_zh-cn.html在终端输入命令:/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/

2020-11-16 00:15:04 1579 1

原创 Markdown解析--之实现博客文章展示

1.Markdown介绍1.1 Markdown是什么​ Markdown是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber)。它允许人们 “使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。1.2 Markdown的基本语法​ Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台WordPress和大型CMS如joomla、drupal都能很好的支持Markdown,Github也是支持m

2020-10-17 15:55:02 1379

原创 antd实现父子嵌套表格

antd实现父子嵌套表格1.总需求概述及代码框架构建1.1.实现父子嵌套表格的总需求使用antd框架,要在表格里面嵌套子表格,需要在用户点击父表格 前面的 + 图标后,去异步请求后台的数据用来填充子表格的内容,同时实现父子表格全选功能注意:父表格的数据是一个接口,子表格的数据是另一个接口,两者不在一块1.2.代码框架构建如下:2.第一步需求:实现父子嵌套表格及点击父表格外的展开按钮,展开相应子表格数据操作注意⚠️:子表格引入时也是有标题的,可按需求保留或隐藏(此版本为隐藏,通过在子表格中设

2020-05-22 20:02:38 7316 6

空空如也

空空如也

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

TA关注的人

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