自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

前端kk的博客

记录和分享

  • 博客(350)
  • 资源 (3)
  • 收藏
  • 关注

原创 nodejs 使用不同环境的配置文件

1.先创建一个config文件夹2.config 创建一个index.js,根据启动传入的参数判断加载哪个环境的配置文件,我这里是默认启动生产环境的配置文件var path = require('path');console.log(process.env.NODE_ENV)// 通过NODE_ENV来设置环境变量,如果没有指定则默认为生产环境var env = process.env.NODE_ENV || 'production';env = env.toLowerCase(.

2020-10-21 11:18:05 1394

原创 node 封装 http请求  

node 封装 http请求var http = require("http");var urlUtil = require('url');var file = require("./file");var querystring = require('querystring');var HttpUtil = { //get提交url,返回html数据 get : function(url,success,error){ http.get(url,functi..

2020-10-21 09:54:22 547

原创 在 Vue Cli 3+ 中使用 px2rem-loader

安装 amfe-flexible cnpm install amfe-flexible -S 安装 px2rem-loader cnpm install px2rem-loader -D 在mian.js中引入 import 'amfe-flexible' 在vue.config.js中配置module.exports = { chainWebpack: config => { config.module ...

2020-10-09 11:29:56 1821 1

原创 vue中install 和 vue.use()

install 方法Vue.js 的插件应该暴露一个 install 方法。第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象用途 开发插件 以及 全局注册组件等MyPlugin.install = function (Vue, options) { // 1. 添加全局方法或 property Vue.myGlobalMethod = function () { // 逻辑... } // 2. 添加全局资源 Vue.directive('my-d

2019-11-29 19:13:00 527

原创 判断JS对象是否拥有某属性

1.in 运算符var obj = {name:'jack'};alert('name' in obj); // --> truealert('toString' in obj); // --> true无论是name,还是原形链上的toString,都能检测到返回true。2.hasOwnProperty 方法var obj = {name:'jack'...

2019-09-09 14:23:29 196

原创 数组对象去重 和 数组求和的几种方法

数组去重1,数组对象去重:id、name,type都重复的时候,才会被去重delRepeat(arr) { return Object.values( arr.reduce((obj, next) => { var key = JSON.stringify(next); return (obj[key] = ne...

2019-09-09 10:56:26 706

原创 Vue解决跨域问题,本地代理

在config的index.js文件里面配置proxyTable(proxyTable是让我们配置本地代理的地方)And then 解释一下各参数的含义/api/** 这个地方意思是 遇到api/**我们就进行代理转发target 你们后端大佬给你的接口地址Secure 如果你的接口是https协议,需要配置这个changeOrigin 是否跨域pathRewr...

2019-08-21 14:49:25 289

原创 nodejs mysql连接过期自动执行重新连接

var mysql = require('mysql')var mysql_config = { host: '127.0.0.1', user:'root', password:'root', database:'sjh'}function handleDisconnection() { var dbServer = mysql.c...

2019-07-31 10:25:06 940

转载 图片上传裁剪

https://www.jianshu.com/p/f9986bd52ec6

2019-07-12 10:08:50 91

原创 高德判断点是否在圆或多边形内

<!doctype html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="initial-scale=1....

2019-07-10 16:33:12 3519

原创 用Axios Element实现全局的请求loading的方法

背景业务需求是这样子的,每当发请求到后端时就触发一个全屏的 loading,多个请求合并为一次 loading。现在项目中用的是 vue 、axios、element等,所以文章主要是讲如果使用 axios 和 element 实现这个功能。效果如下:分析首先,请求开始的时候开始 loading, 然后在请求返回后结束 loading。重点就是要拦截请求和响应。然后,要...

2019-07-03 11:13:50 4067

原创 深入理解JavaScript的深拷贝和浅拷贝

为了更好的理解js的深浅拷贝,我们先来理解一些js基本的概念 ——Javascript有五种基本数据类型(也就是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。还含有一种复杂的数据类型(也叫引用类型),就是对象注意Undefined和Null的区别,Undefined类型只有一个值,就是undefined,Null类型也只有一个值,也就...

2019-07-03 11:06:51 181

原创 结束时间和开始时间不能大于31天

// 结束时间和开始时间不能大于31天 dataDiff(a,b){ let data1 = Date.parse(a.toString().replace(/-/g,"/")); let data2 = Date.parse(b.toString().replace(/-/g,"/")); let diff = data2 - data1; let t ...

2019-07-01 10:23:06 1141

原创 git 重命名本地分支,并提交到远程

1.重命名 git branch -m oldBranchName newBranchName2.删除远程分支:git push origin :oldBranchName3.将重命名过的分支提交:git push origin newBranchName

2019-06-28 16:21:20 822

原创 git 比较两个分支的区别

git diff 分支1 分支2--stat (加上 --stat 是显示文件列表, 默认是文件内容diff)git diff branch1 branch2 --stat //显示出所有有差异的文件列表git diff branch1 branch2 具体文件路径 //显示指定文件的详细差异git diff branch1 b...

2019-06-27 14:56:49 4984

原创 Vue2.4+新增属性.sync、$attrs、$listeners

.sync在vue2.4以前,父组件向子组件传值用props;子组件不能直接更改父组件传入的值,需要通过$emit触发自定义事件,通知父组件改变后的值。比较繁琐,写法如下://父组件<template> <div class="parent"> <p>父组件传入子组件的值:{{name}}</p> <fields...

2019-06-16 17:50:28 345

原创 论vue组件的大小写在Linux的问题

vue的组件一般都是大写的如Search.vue当我们引用的时候可以是import search from ‘../../components/public/Search.vue’或者import search from ‘../../components/public/search.vue’只要命统一即可但是这只是在windows系统下不会报错,但是如果在linux系统下,则会出现引...

2019-06-15 10:49:33 725

转载 h5页面与原生app页面交互

两端交互安卓:https://github.com/lzyzsd/JsBridgeIOS:https://github.com/marcuswestin/WebViewJavascriptBridge两者一起用的话会起冲突,需要判断一下是什么终端,然后分别调用, var u = navigator.userAgent; var isAndroid = u.indexOf('And...

2019-06-05 10:58:23 496

原创 [Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for example becaus

vue报这个错[Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for example because scrolling is in progress and cannot be interrupted如何解决使用css3touch-action: none;touc...

2019-06-04 15:29:47 7666

转载 node.js连接MySQL操作及注意事项

node.js作为服务端的js运行环境已经出现了有几年了,最近我有个朋友也在做这方面的开发,但是也是刚刚接触,遇到了很多坑。前几天他们在操作数据库的时候出现了点问题,后来我们一起看了看,其实都是node本身机制的一些问题,这里总结一下给新手做借鉴。 我朋友的数据库采用的是MySQL。(至于为什么不用mongoDB,这个是公司上层选型的结果,因为很多新手朋友似乎总是觉的node.js就...

2019-05-10 14:15:53 313

转载 Vue过滤器 filter

此笔记关于filter的官方文档的一些讲解及个人的一些拓展简单介绍一下过滤器,顾名思义,过滤就是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰,那么过滤器则是过滤的工具。例如,从['abc','abd','ade']数组中取得包含‘ab’的值,那么可通过过滤器筛选出来‘abc’和‘abd’;把‘Hello’变成‘Hello World’,那么可用...

2019-04-16 16:46:35 415

原创 JS中三种主要的遍历对象的方法:for in、Object.keys、Object.getOwnProperty

一、对非Array对象类型的遍历1、for in主要用于遍历对象的可枚举属性,包括自有属性、继承自原型的属性var obj = {"name":"tom","sex":"male"};Object.defineProperty(obj, "age", {value:"18", enumerable:false});//增加不可枚举的属性ageObject.prototype....

2019-04-03 11:36:40 3958

转载 Vue.js双向绑定的实现原理

Vue.js 最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统。本文仅探究双向绑定是怎样实现的。先讲涉及的知识点,再用简化得不能再简化的代码实现一个简单的 hello world 示例。  参考文章:https://segmentfault.com/a/1190000006599500一、访问器属性 访问器属性是对象中的一种特殊属性,它不能直接在对象中设置,而...

2019-03-27 16:54:49 136

转载 简单谈谈关于Angular Cli打包的事

本文主要给大家介绍了关于Angular Cli打包的事,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。一、引言Angular从开发再到生产环境部署都离不开Angular Cli工具集,而Angular Cli本质上是使用 Webpack(当前使用版本为2) 来打包资源。Webpack 本身并不复杂,略用过一点都清楚,只需要创建一个 webpack.config.js ...

2019-03-25 17:35:08 1547

转载 Angular学习笔记 ——input 标签上的【name属性】和【ngModelOptions属性】

利用“@angular/forms" 创建<form>表单的时候,系统默认会创建一个”FormGroup"的对象。使用带有“ngModel"的”<input>“标签时,系统会自动为这个标签创建一个叫做”FormControl"的对象,并且会自动把它添加到”FormGroup"中。而“FormControl"在”FomGroup“中是用"<input>"标签上...

2019-03-21 09:33:07 753

转载 git 操作图

2019-03-13 16:52:55 173

原创 NodeJs/Vue项目中对process.env的使用

NODE_ENV获取环境变量let env = app.get('env')let env = process.env.NODE_ENV//默认 NODE_ENV 为环境变量名称//可自行在 process.env 对象下定义需要使用的变量,在项目中可以根据//不同的 env 值设置 defaultUrl 或者其他值在webpack 打包的项目/Node JS项目中,可以安装 ...

2019-02-28 10:32:13 8403

转载 NodeJs/Vue项目中对process.env的使用

最近系统接入了公司的单点登录,为了登陆成功后再跳回系统的主页面,又申请了测试和沙箱的域名(之前都是直接用IP登的),本地开发是配置的host。接入之后发现了一个非常麻烦的点就是给单点登录传的跳转地址每次都要修改,开发的时候要写成开发的域名,测试的时候要改成测试的域名,进沙箱的时候要改成跳转沙箱的域名,上线的时候又要改成线上的域名。特别是在测试阶段,开发测试来回切换,不胜其烦。于是就想把它写成配置...

2019-02-28 10:31:08 13274

原创 强烈推荐:绝对是最好的一个小程序开源框架

开源框架1、 mpvuempvue 是美团点评开源的一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的  runtime 和  compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。使用  mpvue 开发小程序,你将在小程序技术体系的基础上获取到这样一些能力:彻底的组件化开发...

2019-02-22 10:34:22 340

原创 mpvue学习笔记-之微信小程序数据请求封装

简介美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它。看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在每一个地方都用request的话,那会有很多代码是冗余的,于是就准备自己封装一个,下面就记录一下封装过程。注释也写在下面的代码里了。实现的结果代码要简洁 无需每个页面引入一次 Prom...

2019-02-21 17:05:06 248

原创 小程序后台登录(非微信登录)

微信小程序 后台登录实现效果图:最近写了一个工具类的小程序,按需求要求不要微信提供的微信账号登录,需要调取后台登录接口来登录。由于小程序大部分都是调取微信信息登录,很少有调用自己后台来登录的,所以写的时候各种坑,现在把趟好坑的代码共享给大家吧!(PS:如有不妥之处,共勉之。)废话不说,直接上代码找到app.js在里面写如下代码? 1 2 3...

2019-02-21 15:14:11 2248 2

原创 接口返回流、前端实现下载

接口返回流、前端实现下载

2019-02-18 10:42:16 272

原创 性能网址

https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fsany-service-h5-pre.irootech.com

2019-01-17 19:20:24 226

原创 JS-排序详解-冒泡排序

说明时间复杂度指的是一个算法执行所耗费的时间 空间复杂度指运行完一个程序所需内存的大小 稳定指,如果a=b,a在b的前面,排序后a仍然在b的前面 不稳定指,如果a=b,a在b的前面,排序后可能会交换位置JS冒泡排序原理依次比较相邻的两个值,如果后面的比前面的小,则将小的元素排到前面。依照这个规则进行多次并且递减的迭代,直到顺序正确。时间复杂度,空间复杂度,稳定性平均时间...

2019-01-07 20:53:27 224

原创 js原型链

1.开篇1.1本文目标这是我真正意义上的博客,一是想记录下自己学到的东西,二是想写博客也是对自己的一种历练,自己的一次新的尝试。废话不多说,说下这次写这篇东东的原因。js的原型链是让我很头疼的事情,每次碰到一些相关的题目和代码都让我有点不知所措。最近的一次笔试碰到了一道相关的题目,不出所料,没有答出来。回来对此钻研一通,不断地查资料测试代码,终于有了点收获,正好最近开始玩博客,所以写了...

2019-01-07 20:27:09 359

原创 ES6 Class 中的 super 关键字详解

收藏整理了ES6 Class 中的 super 关键字,本文将分享给大家,非常不错,具有参考借鉴价值,需要的朋友参考下吧,希望能帮助到大家。 以下只是个人的学习笔记:super这个关键字,既可以当作函数使用,也可以当作对象使用。在这两种情况下,它的用法完全不同。1、当作函数使用  class A {} class B extends A {  cons...

2018-12-12 11:01:51 1424 2

转载 http转https后资源加载不显示

随着国内网络环境的持续恶化,各种篡改和劫持层出不穷,越来越多的网站选择了全站 HTTPS。HTTPS 通过 TLS 层和证书机制提供了内容加密、身份认证和数据完整性三大功能,可以有效防止数据被查看或篡改,以及防止中间人冒充。本文分享一些启用 HTTPS 过程中的经验,重点是如何与一些新出的安全规范配合使用。至于 HTTPS 的部署及优化,之前写过很多,本文不重复了。理解 Mixed Conte...

2018-12-10 10:58:58 4023

原创 ​如何在VUE项目里使用阿里巴巴 iconfont 图标库里的彩色图标(svg图标)

1.打开iconfont,并登录账号    http://www.iconfont.cn/  2.挑选自己喜欢的图标,加入购物车   3.打开购物车 =&gt; 添加至项目 =&gt; 新建项目目录 =&gt; 确定    4.进入我的项目,点击Symbol,点击生成代码   5.将生成的代码引入index.html   6...

2018-12-07 18:41:27 345

原创 判断二维数组是否包含某个以为数组

var arrayHasElement = function(array, element) { // 判断二维数组array中是否存在一维数组element for (var el of array) { if (el.length === element.length) { for (var in...

2018-11-28 11:29:29 4310

原创 git rebase简介(高级篇)

一、基本  对于git rebase,你亦可以选择进行交互式的rebase。这种方法通常用于在向别处推送提交之前对它们进行重写。交互式rebase提供了一个简单易用的途径让你在和别人分享提交之前对你的提交进行分割、合并或者重排序。在把从其他开发者处拉取的提交应用到本地时,你也可以使用交互式rebase对它们进行清理。如果你想在rebase的过程中对一部分提交进行修改,你可以在'git re...

2018-11-26 15:56:43 184

mac webstorm 快捷键配置

mac webstorm 快捷键配置

2022-04-20

axios 面向对象封装

axios 面向对象封装 可以多实例调用

2022-03-22

node_koa-sql.zip

koa 实现 基本登录注册 刷新token的 demo,简单易懂

2021-12-06

空空如也

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

TA关注的人

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