自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 eslint常用规则

eslint 规则

2022-09-24 15:06:52 737 1

原创 单页面应用监控白屏方案-MutationObserver

单页面应用白屏监控方案

2022-09-24 15:04:31 479

原创 ant design踩坑之路:Warning: Instance created by `useForm` is not connected to any Form element.

当在Modal使用Form,且使用了const [form] = Form.useForm()时会报以下警告:官方解释:这是因为你在调用 form 方法时,Modal 还未初始化导致 form 没有关联任何 Form 组件。解决办法--主要有两点需要注意:1、Modal 设置forceRender 属性2、form 设置 form={form}...

2020-12-24 11:47:34 3774 1

原创 husky tslint 限制git上传

为什么要限制上传,大家都懂,直接上干货(请确保项目中有 tslint 依赖)1、限制git上传下载依赖 huskylint-stagednpm install husky --save-devnpm install lint-staged --save-devpackage.json 配置配置lint-staged 检查规则和husky的books{ "devDependencies": { "husky": "^4.3.0", "lint-staged".

2020-11-01 20:36:24 899

原创 iphone 加载H5 Cannot declare a let variable twice: ‘e‘. (ios10兼容问题)

在iPhoneAPP或者浏览器中访问H5页面时,发现ios10版本访问不了,控制台报错Cannot declare a let variable twice: 'e'.解决办法:找到uglifyjs-webpack-plugin引入的地方做如下修改//旧的配置 new UglifyJsPlugin({ sourceMap: true })//修改后的配置 new UglifyJsPlugin({ sourceMap: true, ...

2020-10-28 11:46:41 510

原创 git 常用命令

查看版本号git log合并分支git merge 分支拉取分支git pull推送分支git push切换分支git checkout 分支版本回退git reset --hard 版本号git push -f -u origin 分支取消mergegit merge --abort删除本地分支git branch -D yourbranch仓库、本地分支删除后找回git refloggit checkout 分支

2020-09-09 16:07:22 295

原创 js 常用正则验证

手机号:let phoneReg = /^[1][3,4,5,7,8][0-9]{9}$/;phoneReg.test(phone)身份证号:let idCardReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;idCardReg.test(idCard)

2020-05-29 17:12:01 377

原创 aixos post请求下载流文件

话不多少,直奔主题:axios.post(url, file, { headers: { "Content-Type": "multipart/form-data" }, responseType: 'blob', }).then(res => { const content = res.d...

2020-01-13 16:10:51 361

原创 mac 安装淘宝镜像 cnpm

打开终端输入一下命令:sudo npm install -g cnpm --registry=https://registry.npm.taobao.org --verbose如果提示 Password 输入开机密码即可cnpm -v出现以下内容即为成功[email protected] (/usr/local/lib/node_modules/cnpm/lib/parse_argv....

2019-11-06 16:47:20 756

原创 vue-cli 3.0 配置环境变量

1、再项目根目录创建 .env[mode] 文件,如:2、以 .env.prod 为例,里面编写内容:NODE_ENV = 'production'VUE_APP_CURRENTMODE = 'production'3、在自己的js配置文件中// process.env 即可拿到当前所属环境的变量console.log(process.env);4、配置pac...

2019-09-23 15:42:05 878

原创 a链接下载文件时,会打开新页面然后下载

问题描述:<a href="http://123.56.69.95:9060/enterpriseAuth/v2/downloadProxy?token=aRY515atg1m1VhEIp7QBfwxyKceShq">下载</a>在执行以上代码时,部分浏览器不会直接下载,而是先跳转页面,然后弹出下载框解决方法:在a标签内加入download="" 属性,...

2019-07-25 10:58:29 7505

原创 express + multer 实现文件上传(三)-- 多字段名上传

了解了前面的一、二后看一下多字段上传index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0...

2019-07-24 14:31:49 1011

原创 Multipart: Boundary not found multer文件上传报错

express + multer 作为node服务器上传文件时,会出现以下报错:Multipart: Boundary not found原因:在 ajax 请求时,设置了请求头的Content-Type$.ajax({ url: '/upload/single', type: 'post', processData: false, conten...

2019-07-23 16:24:01 6445

原创 express + multer 实现文件上传(二)-- 限制上传

注:最好看完了上一篇express + multer 实现文件上传(一)-- 基本上传后再看该内容在这我们对上传做了一些限制:const express = require('express');const router = express.Router();const multer = require('multer'); let upload = multer({ ...

2019-07-23 16:06:13 2379

原创 express + multer 实现文件上传(一)-- 基本上传

express框架,实现文件上传主要用到了multer插件准备工作:创建一个express项目,并支持html,教程请转至nodejs+express+pm2 搭建服务器安装依赖:npm install --save multer开始编码:1、routers 文件夹下新建 upload.js 文件const express = require('expre...

2019-07-22 16:48:53 9304 3

原创 vue 两个input显隐切换时,保留原来数据或事件

问题描述,两个input点击按钮时做v-if切换,输入的值会扔保留,问题代码如下:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-sc...

2019-07-15 10:51:08 2201

原创 node 启动 vue2.0 未打包项目

某些项目使用node作为中间件,来连接前端和后端,在中间做相应处理。线上一般都是vue打包完成放入指定位置,node做配置就可访问,但这是生产时候用的。那开发过程中,如何使用node直接启动未打包的vue项目,实现vue 和 node 一起开发呢?例子如下:demo:https://github.com/zhangyunhou/node_start_vuegit:https://g...

2019-07-12 16:49:35 630 3

原创 node express 启动 vue项目 路由为 history 模式路由跳转问题

在express + vue 项目开发过程中,vue-router 设置 mode 为 history 时,页面刷新或者输入路径时,会直接访问node服务,而不会对应进入vue页面,在vue官网中已经给出了解决方法。但是有的时候自己配置总会出现问题,有一种简单的解决办法,就是利用connect-history-api-fallback 插件vueexport default new ...

2019-07-12 16:26:57 1713

原创 elementui el-form 回车页面刷新事件

问题描述:在提交某项业务时,需要输入一次密码,点击下方确定后提交,但是当el-input有焦点时,按下回车会发生页面刷新事件,url中的参数也被清空。代码如下:<div class="password ft12"> <el-form> <el-form-item label="签约密码:" label-width="95px" prop="pas...

2019-07-02 14:23:01 4773 1

原创 typescript 入门及vscode 自动编译

1、安装typescript(以下简称ts)复制以下代码全局安装tsnpm install -g typescript完成后,输入 tsc -v 检查是否安装完成2、使用ts1、首先创建 tsconfig.json 文件,根据自己需要修改配置项tsc --init2、创建 .ts 文件(例:test.ts)interface Person { name...

2019-06-25 15:41:14 6420

原创 关闭input 自动完成(提醒历史纪录)功能

有些时候我们不需要input 输入框的自动补全功能(提醒历史纪录功能),html5新出了一个autocomplete属性,在html中加上该属性即可,例:<input type="text" autocomplete="off">...

2019-06-16 10:28:42 2121

原创 图形验证码 前端生成

话不多说,直接上源码,内部有注释,字体旋转地方会比较复杂,在下方有图像解释<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=...

2019-06-05 14:51:16 1037

原创 echarts 折现图/柱状图与饼图的联动

echarts 实现折现图/柱状图与饼图的联动效果,主要依赖updateAxisPointer事件以下例子为官方演示,以折线图与饼图联动为例,如需要柱状图与饼图联动,可将折线图部分改为柱状图配置即可<!DOCTYPE html><html style="height: 100%"><head> <meta charset="utf-...

2019-05-29 16:14:02 10281 2

原创 vue-cli 3.0 配置sass/scss全局变量

1、scss文件//variables.scss$background-color : #4c94f1;2、配置loader//vue.config.jsmodule.exports = { //配置全局样式变量 css: { loaderOptions: { sass: { data: `@import "@/assets/style/common/v...

2019-05-23 15:33:06 6504 8

原创 table 表格中的内容溢出的解决方法

css 解决文字溢出变为省略号时,代码如下:/*溢出部分样式*/td, th { white-space:nowrap; //强制在一行显示 overflow:hidden; //溢出的内容切割隐藏 text-overflow:ellipsis; //当内联溢出块容器时,将溢出部分替换为… word-break:keep-all; //允许在单词...

2019-05-12 19:43:39 7759

原创 如何去掉浏览器对form表单自带的非空验证 ‘请填写此字段’

我们使用form表但时,在里面input、textarea等加上 require 属性的时候,在表单提交时会触发该验证,代码如下:<form action="/"> <label for="username">用户名:<input type="text" id="username" required></label> <label...

2019-04-29 15:35:35 6555 3

原创 js中url传参中文乱码的解决方法

1、escape 和 unescapeescape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。采用unicode字符集对指定的字符串除0-255以外进行编码。所有的空格符、标点符号、特殊字符以及更多有联系非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。escape不编码...

2019-04-26 20:08:56 10344 1

原创 跨域,就是这么简单

前端开发中,跨域使我们经常遇到的一个问题,也是面试中经常被问到的一些问题,所以,总结以下常用的解决跨域的方式。什么是跨域?跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。同源策略:所谓的同源是指,域名、协议、端口均为相同,当这些有一个不相同时会产生跨域。同源策略限制了一下行为: Cookie、Loc...

2019-04-01 17:11:11 295

原创 VUE的双向绑定原理及其使用

vue是通过Object.defineProperty()来实现数据劫持的,主要使用了它的set和get属性,如果对其不熟悉的话,请点击这里阅读更多用法。在下面的例子中可以清晰看出其使用方法:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta ...

2019-03-27 17:01:33 233

原创 VUEX的基本使用和理解

1、什么是VUEXVuex 是一个专为 Vue.js 应用程序开发的状态管理模式(官网解释); 通过创建一个集中的数据存储,供程序中所有组件访问;2、VUEX的主要组成部分State:所有数据存储的位置 Getter:不改变原数据,对数据进行加工处理,然后使用(例:过滤多余数据) Mutation:修改State里面数据的唯一方式 Action:可执行异步操作,完成后仍需要通过...

2019-03-26 17:12:53 238

原创 js parseInt() 详解

项目开发过程中,我们经常会用到parseInt(),但是对它的第二个参数知之甚少,下面解释下第二个参数。首先我们先来看看w3school的解释:解释的也很清楚,但是对于对进制不了解的同学就有点难理解了,我以8进制为例,解释下:例:parseInt('25', 8); //21//'25'分为2和5,然后和8比较,均比8小//计算:2和5的索引分别为 1,0。计算方法为2乘以...

2019-03-25 16:33:28 1604

原创 关于async/await、promise和setTimeout执行顺序

前段时间领导给我们出了一道题,关于async/await、promise和setTimeout的执行顺序,网上查了查资料,这是头条的一道笔试题,记录一下,加深理解。题目如下:async function async1() { console.log('async1 start'); await async2(); console.log('asnyc1 end');}async...

2019-03-22 16:19:40 30717 21

原创 jQuery ajax 拓展文件上传

HTML<input name='' type="file" id="file-uploader">js (公共js中配置以下代码)以下文件依赖 jQuery 所以需要提前引入,alert 提示非常影响用户体验,可自定义提示样式/** * 上传 * @param {String} uploadUrl 上传服务地址 * @param {String} fil...

2019-03-20 15:05:29 116

原创 js实现冒泡排序,快速排序,插入排序及原生sort的使用

1、冒泡排序原理:数组中有n个数,比较相邻的两个数,如果后面的数小于前面的数,则两者交换。一轮完成后,此时最大的数据已经在最后,此时进行第二轮,确定倒数第二个数,依次几轮就可完成,如下图详解:图中我们可以看出,我们仅需要arr.length-1轮,且每轮比较的次数也逐渐减少,代码如下://冒泡排序,从小到大var arr = [5, 7, 4, 8, 3];//1 外层...

2019-03-11 19:54:55 602

原创 关于原生 css 变量的那些事儿

在编写css时,我们熟知的Sass/Less/Stylus等预编译工具,里面包含了变量声明、定义函数等功能,大大降低了项目 css 的维护成本。现在原生 css 同样也具备了变量声明、条件判断等功能,该功能发布已有两年之久,各大浏览器的兼容也非常良好。1、变量声明CSS中原生的变量定义语法是:--*,其中*表示我们的变量名称。以"--"开头,后面可以是数字、字母、下划线、连字...

2019-03-01 10:52:33 268

原创 npm run build: WARNING in asset size limit: The following asset(s) exceed the recommended size limit

vue项目 npm run build 时,有时回报如下错误: 错误原因,资源(asset)和入口起点超过指定文件限制,需要在 vue.config.js 文件内做如下配置:module.exports = { //webpack配置 configureWebpack: { //关闭 webpack 的性能提示 performance: { ...

2019-02-20 20:08:58 47118 1

原创 js 实现左侧菜单拖动改变宽度

近期项目有这样一个需求,实现左侧菜单拖动改变宽度,并存放在浏览器中。这里项目已经实现, 保存一个简单demo, 方便其他前端工作者参考和后期自己使用。 代码如下:&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;meta http-equiv="X-UA-Compat...

2019-02-20 16:36:53 4684 3

原创 解决 express 框架跨域问题

使用 express 框架生成 node 服务器,作为后台服务器,解决跨域请求方式如下:在 app.js 文件中添加如下代码,即可解决跨域问题app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header('Access-Control-Allow-Meth...

2019-02-18 15:35:00 1352

原创 express框架,使用 static 访问 public 内静态文件

使用 express 生成 node 服务器后,我们需要访问放在public文件夹内的静态文件我们需要在app.js中添加点配置项:app.use('/public',express.static('public'));//或者app.use('/public',express.static('./public'));//或者app.use('/public',expre...

2019-01-28 19:58:06 4638

原创 nodejs+express+pm2 搭建服务器

注意:这里不能使用 express -v 检查 ,可通过 express -h 查看所有可用的命令行选项。

2019-01-25 17:17:38 2803

图形验证码.html

该代码为前端使用canvas生成的图形验证码,虽然相对安全问题比较低级,但是对一些没有太大安全要求网站比较实用,可以缓解部分服务器压力。

2019-06-05

nginx跨域代理

该资源为使用nginx服务器实现跨域反向代理,主要修改conf/nginx.conf文件

2019-04-01

空空如也

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

TA关注的人

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