自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Whistle使用笔记

Whistle 使用教程whistle官网:http://wproxy.org/whistle/本文内容:windows 系统下 whistle安装和启动无法访问google.com情况下下载浏览器插件- SwitchyOmega以及浏览器代理配置whistle主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用你也可以简单将其看作一个提供代理服务得工具,通过配置规则(rules)来抓包(类似Chrome浏览器Network功能),抓

2021-12-20 22:43:46 516

原创 clientHeight、offsetHeight、innerHeight、ouerHeight 区别

innerHeight 和 outerHeight 是window 对象的只读属性, clientHeight 和 offsetHeight 是DOM 元素属性,接下来看看他们之间的有什么区别。clientHeight vs offsetHeightElement.clientHeight 是元素的只读属性,对于没有定义CSS或者内联布局盒子的元素为0,否则,它是元素内部的高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距HTMLElement.offsetHeight 也是一个只读属性,

2021-12-19 00:06:49 3225

原创 使用nvm管理node版本

使用nvm 管理node版本介绍在我们日常的开发中,经常会遇到这样的情况,手上的几个项目分别依赖不同版本的NodeJS环境,但我们不可能频繁地去更换地去卸载安装NodeJS ,所以使用nvm是一个很好的选择。nvm是mac os下的node管理工具,windows 使用的是 nvm-windows,下面介绍windows 下的安装与使用安装首先卸载原来的NodeJS注意如果你之前安装过node,且使用的安装地址是默认地址(c盘的Program Files ),在安装nvm时nodejs的安装

2021-12-13 23:09:36 1112

原创 vercel 自动化部署项目和跨域问题

我使用的脚手架是Vue CLI ,过程中都很简单,出错的是跨域问题,在本地webpack反向代理,但部署到vercel后没有转发请求,还需要我们自己设置一番。vercel 真的太好用了,一键自动化部署,步骤超级超级简单。我把跟着coderwhy敲的项目部署上去了:https://my-bms.vercel.app/login在使用vercel 要注意这几个问题,1、注意vercel 默认的打包路径是dist,如果你更改了outputDir, 要记得在vercel 项目setting里重写,否则会出错

2021-10-14 00:12:36 3268 3

原创 vue3 禁用 Attribute 继承

意外在控制台发现传给子组件的属性以这样的方式呈现 ,感觉有些意外,于是查了官网文档当组件返回单个根节点时,非 prop attribute 将自动添加到根节点的 attribute 中。如果组件有多个根节点,那么会发出警告非 Prop 的 Attribute是组件没有props 和 emits 接收的属性,常见示例包括class、style 和 id 属性, 平时使用组件时总是直接在组件上加 class 或 style 都能修改大概就是这个原因。在注册组件时,可以通过修改inheritAttr

2021-09-21 20:33:35 707

原创 为什么TypeScript 声明文件不生效?找不到模块“./App.vue”或其相应的类型声明?

在初学ts 的时候总是会遇到这个问题:找不到模块“./App.vue”或其相应的类型声明。ts(2307)最好的办法就是去看相同技术栈比较优秀的开源项目,比如vban, 在vban项目中,当鼠标悬浮在./App.vue上时, 显示module "*.vue",右击“转到类型定义”,就能看到在哪里声明了vue类型文件那我们的声明文件到底有什么问题?为什么不生效?1、检查tsconfig.json 里的include, 是否包含了我们定义的声明文件,参考vban项目2、 声明文件是否是全局声

2021-09-14 23:20:56 9607

原创 element ui 修改Msgbox取消和确认的位置

import { ElMessageBoxShortcutMethod, ElMessageBoxOptions, ElMessageBox } from 'element-ui/types/message-box'import { MessageBox } from 'element-ui';import deleteImgPath from '@/assets/images/backHome/警告1.png'export const deleteConfirm = (message: strin.

2021-08-30 23:12:21 1384 1

原创 uniapp 实现手写签名

效果如下:源代码<template> <view > <canvas class="mycanvas" canvas-id="mycanvas" @touchstart="touchstart" @touchmove="touchmove" @touchend="touchend"></canvas> <view class="footer"> <view class="left" @click="finish" sty

2021-06-29 15:07:16 2845 12

原创 Animate.css 基本使用

安装npmnpm install animate.css --saveyarnyarn add animate.cssCDN<head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css" /></head>基本使用安装后别忘记 在 main.js 里引入 import ‘

2021-06-15 17:13:05 830 3

原创 npm 常用命令

npm i yarn -gyarn --version以管理员身份打开powershell 执行下面命令 ,选yset-ExecutionPolicy RemoteSigned

2021-03-15 11:54:18 107

原创 AntV G6 使用 IconFont

效果如下:在阿里巴巴矢量图标库 选好图标加入购物车->添加购物车->添加至项目(没有项目就新建一个)->下载至本地解压将以下文件命名为icon(自定义)引入项目中,@import "./components/icon/iconfont.css";注册iconfont 节点export function registerNode() { G6.registerNode('iconfont', { draw(cfg, group) { const {

2021-03-01 17:56:24 3716 1

原创 vscode格式化时属性不换行

"vetur.format.defaultFormatterOptions": { "js-beautify-html": { "wrap_line_length": 240, "wrap_attributes": "auto", "end_with_newline": false }, "prettyhtml": { "printWidth": 100, "singleQuote": false,..

2021-02-22 15:06:59 2475

原创 vue 前端配置跨域

1、设置 axios 的 baseURLaxios.defaults.baseURL = 'http://127.0.0.1:4523/mock/372850'2、vue.config.js 设置跨域devServer: { proxy: { // 跨域 "/api": { target: "http://127.0.0.1:4523/mock/372850", //目标地址 changeOrigin: true

2021-01-31 00:16:17 186

原创 前端模块化ES6用法

框架:VUE核心:一个js 文件就是一个模块使用 export 导出:export 命令,有以下几种写法一、使用 export 导出多个变量function sum(a, b) { return a + b}function multi(a, b) { return a * b}export { sum, multi}二、变量前使用 export 前缀export function sum(a, b) { return a + b}e

2021-01-25 23:34:37 117

原创 css+js仿element ui 的select 选择器

效果如下所示静态:点击:样式是element ui 的,实现过程大抵是HTML元素是由两部分组成,input 部分 和 下拉菜单 部分点击input 输入框实现实现下拉菜单的显示与隐藏点击下拉菜单item时隐藏下拉菜单...

2020-11-10 19:08:54 499 1

原创 webpack 安装

先全局安装webpack和webpack-clinpm install webpack -gnpm install webpack-cli -g再局部安装webpack和webpack-clinpm install webpack --save-devnpm install webpack-cli --save-dev``

2020-11-09 23:01:04 150

原创 cnpm : 无法加载文件 C:\Users\Yiri-G01\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。

以管理员身份运行 powershell输入命令: set-ExecutionPolicy RemoteSigned,选择“A”cnpm -v 成功

2020-11-02 16:45:35 78

原创 js 数组和对象的深拷贝

数组的深拷贝直接赋值复制的是浅拷贝,一旦修改就会修改到原来的数组,所以深拷贝是很有必要的。ES6 扩展运算符let arr=[1,2,3,4,5,6];let arr1=[...arr];arr1[0]=8;console.log(arr);//[1,2,3,4,5,6]console.log(arr1);//[8,2,3,4,5,6]concat 和 slicelet arr=[1,2,3,4,5,6];let arr1=arr.concat();arr1[0]=8;consol

2020-10-21 09:15:12 178

原创 Access to XMLHttpRequest at ‘http://localhost:3000/xxx‘ from origin ‘xxxx‘ has been blocked by COR

在本地使用node写的接口,使用postman可以正常访问,可是在vue项目中使用axios访问时出现跨域问题。只需让res返回数据时 加上 res.header('Access-Control-Allow-Origin', '*'); 即可

2020-10-16 22:13:00 6642 5

原创 js 同步任务、异步任务、宏任务、微任务、事件循环

同步任务:立即执行的任务异步任务:就是不立即执行的任务(好像是在讲废话),比如ajax、setTimeout定时函数等都属于异步任务,异步任务会通过任务队列的机制(先进先出的机制)来依次执行宏任务:除了微任务以外的所有任务微任务:process.nextTick和 Promise后的then语句和catch语句等js是单线程已经是老生常谈了,任务分了同步任务和异步任务,同步任务和异步任务里又可以分为宏任务和微任务。关系如下:同步和异步任务分别进入不同的执行环境,同步的进入主线程,即.

2020-10-16 14:57:10 527 1

转载 js 数组去重和对象数组去重

数组去重:Set 结构不会添加重复的值。Array.from把set 结构转换为数组map.has(property)判断属性是否存在 ,map的键Array.includes(value) 判断值是否存在于数组中遍历两次,使用===全等运算符判断是否相等使用filter过滤数组,hasOwnProperty判断对象是否存在某属性,将数据类型和数据作为对象的属性,如果存在相同的就返回false,表示过滤。let originalArray = [1,2,3,4,5,3,2,4,1];//

2020-10-16 11:13:36 143

原创 mysql 连接错误:client does not support authentication protocol requested by server; consid

解决:把用户密码登录的加密规则还原成mysql_native_password这种加密方式首先来到mysql 安装的bin 目录下输入mysql -u root -p 来到mysql 的 命令行然后分别执行ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY

2020-10-13 22:22:07 1291

原创 原生JS AJAX请求

请求的步骤创建请求对象xhr(XMLHttpRequest 构造函数)xhr.open() 初始化一个请求。xhr.send(method,url,isAsync) 发送请求。method: String 表示请求方式,url: String 表示请求地址,isAsync : true/false,表示是否异步,默认true。异步请求需要通过回调函数获取返回的结果,同步可直接在send后获取到。接收数据,访问xhr对象AJAX的核心对象是XMLHttpRequest 对象,但这个对象在IE5/

2020-10-13 13:42:17 86

原创 JS 排序算法

说明评述算法优劣术语说明:稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面不稳定:排序之后a可能出现在b的后面内排序:所有排序操作都在内存中完成外排序:由于数据过大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行。时间复杂度:一个算法执行所耗费的时间;空间复杂度: 运行完一个程序所需内存的大小排序算法图片总结:冒泡排序比较相邻的两个元素,如果前一个比后一个大,则交换位置;第一轮的时候最后一个元素应该是最大的最后一个元素不需要比较function bu

2020-09-29 10:37:55 103

原创 关于 HttpContext.Current.User.Identity.Name=““ 的问题

调试代码的时候发现 HttpContext.Current.User.Identity.Name = ""原来是因为Window身份认证未开启。同时需要关闭匿名访问参考:https://blog.csdn.net/u012835032/article/details/103430921

2020-09-24 09:17:28 604

原创 牛客网数据结构练习题

第一次使用牛客做编程题,刚开始不了解如何输入输出,查了查才知道。我用的是语言是 Javascript v8 6.0.0readline() 表示得到输入的字符串,print() 打印输出1、求最小公倍数?输入描述: 5 7输出描述: 35while(line=readline()){ var lines = line.split(' '); //字符串转换为字符数组 var a = parseInt(lines[0]); var b = parseInt(lines[1]

2020-09-23 16:14:36 535

转载 Vue 项目优化

看了这篇文章决定把它记录下来它分了以下三个方面去优化Vue 项目Vue 代码层面的优化;webpack 配置层面的优化;基础的 Web 技术层面的优化。一、 Vue 代码层面的优化1.1、v-if 和 v-show 的使用场景v-if 指令用于条件性地渲染一块内容,这块内容只会在指令的表达式返回truthy 的时候被渲染。v-show 与v-if 不同之处在于它始终会被渲染并保留在DOM中,v-show只是简单地切换元素的CSS属性 display。v-if 是“真正”的条件渲染,因为

2020-09-23 11:00:26 172

原创 VUE 响应式原理

Vue 会在初始化实例时对property 执行getter,setter 转化,property 必须在data 对象上存在才能让 Vue 转换为响应式的。var vm = new Vue({ data:{ a:1 }})// `vm.a` 是响应式的vm.b = 2// `vm.b` 是非响应式的如何追踪变化当你把一个普通的JavaScript 对象传入Vue 实例作为data 选项,Vue 将会遍历此对象所有的property ,并使用Object.definePr

2020-09-14 10:26:16 129

原创 Layui 多文件上传限制数量

多文件上传时需要自己设置限制数量,我的需求是希望用户最多能选择五个文件files 是我的文件对象, 我将它设置为全局变量,每次选择和删除都会相应地改变 filesobj 每执行一次pushFile这个方法就会将本次选择的文件push 到obj 的文件属性下,并返回所有选择的文件 , choose: function (obj) { let curFiles = obj.pushFile();

2020-09-10 14:57:10 3758 2

原创 Js call apply bind

用途对象的属性可以是函数,一般是指向该对象,但有时候我们希望其他对象也可以调用此函数,这时候就需要使用 call 、apply 或 bind简而言之,这三个函数的作用都是用于重定义this 对象的。例如:下面这个实例obj.myFun() this 指向 objvar name='klaus',age=23;var obj = { name:'klaus1', objAge:this.age, myFun:function(){ console.log(this.name+'年龄:'+t

2020-09-07 10:27:18 95

原创 Git 基本命令(常用指令)

最近用vue 做一个电商管理系统,记录一下其中用到的Git 命令查看当前分支git branch新建分支并切换 git checkout -b 分支名称例如,新建users 分支并切换到它git checkout -b users切换到已有的分支下 git checkout 分支名称例如,切换到master 分支下,git checkout master查看分支状态可以看到项目文件的变化git status查看分支状态之后可以知道有哪些变化,现在就要提交到暂存区g

2020-09-06 13:11:15 322

原创 phpstudy mysql Access denied for user ‘root‘@‘localhost‘ (using password: YES) 问题

问题描述用phpstudy 启动了mysql,登录时出现Access denied for user ‘root’@‘localhost’ (using password: YES) 错误,一直费解。网上说这个问题一般是密码错了,然后我重置了密码之后就ok了。重置密码打开MySQL 管理 页面输入信息就登录成功啦!...

2020-09-05 22:57:13 2690 1

原创 js 事件委托和事件冒泡

事件委托和事件冒泡主要是利用冒泡原理,何为冒泡?就是子元素的事件传播到父元素,比如说子元素的点击事件同时也会触发父元素的点击事件;何为委托?当子元素比较多的时候,我不想一个一个地去阻止冒泡,或者一个一个地监听它们的事件,所以我直接利用冒泡原理,将事件监听委托给父级去做;网上有一个取快递的举例比较好理解,也就是说,在公司里张三李四王二麻子都有快递要取,但是他们不想自己站在公司门口干等,所以他们就拜托前台小姐姐帮忙接收,前台小姐姐拿到快递以后就会根据他们的名字分发给相应的人。<ul>

2020-08-28 17:11:53 217

原创 ES6 学习笔记(常用知识点)

ECMAScript 和 JavaScript 的关系ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。日常场合,这两个词是可以互换的。let 和 const 指令let const var 的使用和区别 变量的解构赋值用途:(1)交换变量的值let x = 1;let y = 2;[x, y] = [y, x];//x=2 , y=1 从函数

2020-08-26 15:12:57 150

原创 AJAX、Fetch 和 axios

做了一个小练习,利用axios 初始化动态绑定复选框/下拉框/单选框 表单上传文件和其他数据到后台,然后

2020-08-25 16:42:14 231

原创 VUE小练习--表单输入绑定

包括styles 绑定,单选框复选框下拉框的取值赋值实时监听等等,用多了就会发现vue 维护起来比jquery 容易太多,而且速度非常快,有点傻瓜式。<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>熟悉vue编程</title> <style> .active { color: red; } .static{

2020-08-18 10:30:26 126

原创 animation 轮播图/文字滚动

轮播图使用CSS3 的animation 和 tranform 特性 做了一个轮播图 <!-- tranform 实现轮播图 --> <div class="container"> <ul class="imgScroll"> <li><a href="#"><img src="img/黑暗.jpg"/></a></li> <li><a href="#">

2020-08-13 15:06:37 971

原创 前端基础知识

刚刚的面试题赶紧拿小本本记起来。css3新特性有哪些?参考新选择器:nth-child(n) 选择器的第n个子元素nth-of-type(n) 选择器的“特定类型” 的第n个子元素这两个的区别:p:nth-child(2) 父元素的第二个子元素,且是p元素p:nth-of-type(2) 父元素的第二个p元素:frist-child 选择器的第一个子元素:frist-of-type 相当于 :nth-of-type(1)E:empty 选择没有子元素的每个E元素文本:tex

2020-08-10 17:05:14 119

转载 CSS 水平垂直居中

在css 里,居中很容易,但垂直居中就不是那么容易。margin负值法已知容器大小负的外边距可以让元素往相反的方向定位,长度单位要统一,我统一同 rem,负值是容器的一半 <div class="container"> <div class="content"> I am the content that need to be centred. </div> </div> .container { width:

2020-08-10 16:40:17 90

原创 layui table 导出搜索到的所有数据--兼容IE浏览器

之前记录过一篇,layui table 导出excel 兼容IE浏览器但这个只能导出当前页面的数据,而用户要求的是导出搜索到的所有数据,那就意味着需要再次请求服务端返回所有数据,我做了一点修改。传入两个参数,id 这个参数是为了获取表头,body 是服务器返回的数据,根据field 和 key 找到它们相对应的字段,如此一来,表格显示几列导出的数据就会有几列。//表格导出function getTableById(id,body) { //根据传入tableID获取表头 var he

2020-08-05 11:02:34 544 2

空空如也

空空如也

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

TA关注的人

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