- 博客(33)
- 收藏
- 关注
原创 解决git push时报“remote: You are not allowed to upload code“的报错
remote: You are not allowed to upload code.
2022-08-26 09:23:29
2446
1
原创 自定义tinymce富文本编辑器列表
自定义inymce富文本编辑器列表,可以通过以下几个步骤实现:1、配置中,加入lists和advlist插件,toolbar加入有序列表numlist或者无序列表bullist。plugins: 'lists, advlist', toolbar: 'bullist numlist'2、自定义列表的样式,在配置对象中,有序列表设置advlist_number_styles属性,无序列表设置advlist_bullet_styles属性。advlist_bullet_styles: 'd
2022-05-16 15:10:18
1676
原创 Vue3.0相对 Vue2.0的主要语法改变
Vue3.0的时代已经到来,为了紧追时代的步伐,学习 Vue3.0是势在必行的,在学习过程中,发现 Vue3.0相对于 Vue2.0,在语法上的改动并不是很大,为了巩固学习和便于日后复习,我特意总结一下Vue3.0相对 Vue2.0的主要语法改变。1、ref 属性的定义ref 是用于获取组件对象或者元素对象,在 Vue2.0中传入的是一个字符串,然而,在 Vue3.0中可以定义一个函数,函数的参数是接收到组件对象或者是元素对象,所以在使用过程中,可以自定义变量在函数中接收ref 的对象。如下例,用.
2021-04-12 17:53:24
3727
3
原创 TypeScript知识点梳理
一、原始数据类型js原始数据类型包括:布尔值、数值、字符串、null、undefined以及 ES6 中的新类型 Symbol和 BigInt。ts中的原始数据类型包括:boolean、number、string、void、null、undefinedvoid表示没有任何返回值的函数。null和undefined是所有类型的子类型,也就是说null和undefined能赋值给任一类型,如:let a: string =undefined二、任意值Any和类型推导any类型是可以赋..
2021-02-21 17:17:26
704
原创 chrome浏览器安装.crx插件
对于低版本的chrome浏览器安装扩展插件,一般流程是:下载.crx文件,然后在浏览器的地址栏输入chrome://extensions/,接着把.crx拉到浏览器的窗口中,但是,对于新版本的浏览器会报以下的错误:遇到以上的情况时,可以采用以下的方法(要打开右上角的开发者模式):1、将.crx文件后辍改为.zip后辍。2、解压.zip文件,得到文件包。3、在“扩展程序”页面...
2019-08-02 16:39:22
2147
原创 解决git的Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa'问题
我遭遇的问题是在git的bash上每次提交都弹出“Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa'”的提示,这个是访问远程仓库都需要输入一个密码,一般做法是输入密码就可以解决问题。但是想以后不用进行同样的操作,那么就需要进行以下的操作:1、打git的bash命令,输入vi~/.profile2、键盘输入"...
2019-07-05 16:20:36
29118
4
原创 使用ES6语法封装一个事件对象(EventEmitter)
最近在重温ES6的语法,里面的Proxy可以改写对象的点语法,于是突发其想地利用这个特性,去实现一个事件触发对象,这个对象的调用方式借鉴了Vue的事件API。在ES5可以使用defineProperty实现,粗糙的实现代码贴下面:class EventEmitter { constructor() { this.eventMap = {} this.o...
2019-06-28 19:20:53
2045
原创 实现选择文本时选中整个元素文本
在某些场景下,若选择页面中某个地方的文本则会选中整个元素的文本,例如:常见的复制链接,长按链接中的某个地方,则会选中整个a标签的所有文本内容。实现以上所述的功能,实现示例:JS部分:document.addEventListener("selectionchange", function(e) { const id = 'myId' if(document.getSelectio...
2019-06-10 11:26:15
2245
原创 Vue使用UEditor富文本编辑器
UEditor是一个功能强大、兼容性比较好的富文本编辑器,大概是长成以下的样子:要在Vue的webpack项目中使用UEditor,具体的步骤如下:一、下载UEditor源码包1、到https://ueditor.baidu.com/website/download.html下载相应的版本2、把下载好的包放在项目的目录中(我放在static目录下)二、修改文件参数打...
2019-05-25 10:20:53
1420
原创 JS一个方法实现深度克隆含有数组、对象和方法的对象
在ES6中在对象的原型的有一个assign方法,可以实现对象的克隆,但克隆是浅克隆,主要表现在对象的第二层如果含有对象,则第二层的对象还是引用原有的对象,有时候并不能达到我们的预期。而比较简单的一种方法实现深克隆则是利用JSON对象把对象字符化,然后再解释回对象,这种方法是最简洁的方法,但是如果对象里含有方法则把方法给过滤掉了。为了避免以上的两种实现方法的功能上的缺陷,我封装了一个深克隆的方法,代...
2019-04-24 11:00:04
1173
1
原创 js封装parseUrl方法解释url成对象
url是唯一资源定位符,在日常web前端开发中经常会接触中,它的组成可以有协议、ip地址、端口、路径、查询参数和网页哈希标志。在js中一个url是一个字符串,而有时需要把url字符串转为对应的对象方式使用,例如:https://abc:3000/ab?a=b#c,转为:{ protocol: "https", host: "abc", path: "/ab",...
2019-03-06 22:06:55
4112
1
原创 nodejs在mac、windows和linux下获取本机IP
最近,通过nodejs的os模块获取本机的IP,借鉴网上别人的方法,有时候会在windows环境获取失败,我猜测是不同的网卡会获取到不同的网络接口信息,所以,我决定自己写一个通用的方法,能在mac、windows和linux环境都能成功获取。代码如下: function getLocalIP() { const os = require('os'); const if...
2019-03-06 15:03:30
1392
原创 vue2.0项目中使用sass(含sass基础用法示例)
Sass是一种CSS扩展语言,目前广泛地应用到web项目开发中,使用sass可以用更少的代码去实现CSS同样的样式效果,在书写上也更为简洁,其原理是通过一定的规则转化为对应的CSS样式,可以说是样式中的“高级语言”。Sass在日常的开发中,是需要通过转换工具转成CSS再引入到HTML文件中,然而,在vue的webpack项目模板中,引入解释sass文件的loader,即可使用sass。本文将展示v...
2019-02-21 11:33:32
52006
6
原创 对web移动端开发的一些了解
最近,由于老板交待下去要准备开发一些移动端页面出来,作为一个工作以来都是以开发后台管理系统为主的web前端开发人员,我对移动端开发的了解并不多,对于移动端响应式布局,听过的一些技巧:使用rem代替px、设置viewport和使用flex布局等等,虽然一直有这些概念但毕竟没有真正动手开发过,所以,就从网上搜索一些博客用以加深了解。在阅读过几篇文章后,发觉这些文章的描述是缺乏了背景的上下文,读时候会遇...
2019-01-25 15:47:04
1345
原创 扩展js的函数功能——简单实现一下装饰器
最近在看python的基础语法,发现里面有一个用于扩展函数功能的玩意,叫装饰器。在js的ES6语法中并不存在这个玩意,所以,我就尝试写了一个方法去实现类似的效果: function Decorator(fnName, execute, obj=window) { let oldFn = obj[fnName] obj[fnName] = fun...
2019-01-21 10:37:11
939
原创 js生成指定范围的随机数
要实现的效果是:传入两个数值,能随机取到这两个数值之间的值(a <= 随机值 <= b)。用以下的方法:function getRandom(start, end, fixed=0) { let differ = end - start let random = Math.random() return (s...
2019-01-18 15:59:20
16901
1
原创 js读取excel数据后的时间格式转换
用nodejs的“node-xlsx”库,获取excel的数据之后,里面的日期值全面变成了一个整数值。至于,怎么使用“node-xlsx”获取数据,代码:const xlsx = require('node-xlsx')let sheets = xlsx.parse('./excel.xlsx')拿到的整数值是日期距离1900年1月1日的天数,这时需要写一个函数转换:funct...
2019-01-10 10:01:41
12939
16
原创 初学react(7)——build打包
作为初学react又没有仔细研读create-react-app官方文档的新手开发者,在利用build打包时,遇到一些问题是正常不过的事情。打包的命令是:npm run build相信大家都知道,但是如果想要在本地打开项目的index.html,那必须在package.json文件中加上一个属性:"homepage":"./"打开页面后,如果发现路由不能正常跳转,那就应该是...
2019-01-09 23:29:54
10491
原创 vue2.0组件之间通信的几种方式(有示例)
展开陈述之前,我先说明一下:vue组件之间的通信在我这里指的是一个组件可以触发另一个组件的数据改变,只要可以实现这种效果,我都会视为一种通信方式。基于以上的说明的,我总结一下我所了解的几种通信方式。第一种方式:父组件传属性到子组件父组件传属性到子组件是最常见的方式,关键点是子组件在props属性接收传来的属性,示例://Father组件<template> &l...
2019-01-07 15:53:41
1560
1
原创 初学react(6)——实践(实现todoList)
学完了react的基础知识,愁在没有项目练手,比较好的做法是去模仿其它网站开发。去模仿大型的网站又怕耗费的时间太多,所以我选择模仿比较简单的todoList,优点在于页面简单,不用耗费太多时间,而缺点恰是页面过于简单,很多知识点都用不上,不过对于新手来说,先从简单开始,从简单的开发去巩固react的基本语法和开发思想。(注:所有代码放在gitbubt上https://github.com/Ch...
2019-01-07 10:04:57
2766
5
原创 初学react(5)——使用redux
在vue中有一个状态管理的库叫vux,之前听说过react的也有类似的状态管理库叫redux,于是,我从网上学习一下redux,从学习中,我了解到以下几点:1、redux是一个JS开发使用的状态管理库,并不局限于react使用,在react中使用需要同时引入react-redux库。2、redux运用于大型复杂的JS项目,一个应用只能存在一个store,stort中的state和actio...
2019-01-04 18:21:15
875
原创 初学react(4)——使用路由(react-router)
开发单页面应用,基本都涉及到路由,何谓路由,简单来说,路由是根据不同的 url 地址展示不同的内容或页面。在前端开发中,要根据用户的操作去展示出不同的内容,我们通常采用路由解决,譬如,用户从主页点击到其它功能页时,点击相应链接按键后,我们就要跳转到相应的路由,路由发生改变后,页面的内容也发生改变。那么,在react中实现路由,首先要引入react-router模块,在项目目录下:npm i ...
2019-01-04 15:45:09
409
原创 初学react(3)——请求数据
在日常开发中,是离不开前后端交互的,普遍场景下,react应用和后端的交互使用ajax请求,在react中如何去发起一个ajax请求呢?在没有后端接口的情况下,我们可以在项目中加入JSON文件,直接访问开发环境开启的服务,这样又不会涉及到跨域问题。所以,第一步先在项目的public目录创建JSON文件:我这里创建了一个static目录,这个目录是随意创建的,到时请求时写入对应的目录即可。我...
2019-01-04 10:20:00
2265
原创 初学react(2)——创建一个组件
创建项目之后,我们就可以在项目里面加入自己的代码,首先我尝试在项目里添加一个自定义的组件。在src目录下创建一个components文件夹,然后在components文件夹里创建一个MyComponents的组件,在组件目录内创建了index.js和index.css文件:在index.js里写上代码:import React, { Component } from 'react...
2019-01-04 08:19:22
311
原创 初学react(1)——create-react-app创建项目
从事了一年多的前端开发工作,之前都是使用vue2.0作为主要的开发框架,最近打算学习一下当下比较火的react框架。有使用vue2.0的经验,所以在学习过程中,很自然地和vue2.0进行比较学习,react有与vue-cli类似的项目脚手架,我选择的是facebook官方推出的create-react-app,以下分享我的学习过程。第一步,安装create-react-app。安装上nod...
2019-01-03 20:07:22
1428
原创 VUE动态改变路由的参数
在日常开发时,有时候需要更新路由中的某些参数,用到的方法是router.push()或router.replace(),用前者会记录到历史的路径,而后者不会。调用方法的前提,是不需要改变路径,所以,在方法中传入query就可以(假设router是挂在了VUE的原型下),如下:this.$router.push({ query: { status: 1 } })用以上的方法是完全改变了参...
2018-12-24 14:58:01
16758
原创 js利用ES6中的Proxy实现观察者模式
ES6语法中新增了一个Proxy类,名字的意思为代理,在实际使用中,通常用于监听对某个对象的操作,例如:获取属性值,设置属性值、对属性值进行修改等等。这个类相当用来管理对象的操作,里面定义的方法,可以对应上对象的操作,当操作Proxy实例对象时,可以重新定义操作的逻辑,当然,如果自己不重新定义就是默认的。在对象的操作方法里面,建议使用ES6新增的Reflect,而Reflect里定义了对象操作的方...
2018-12-21 16:06:55
1350
原创 linux离线安装nodejs和pm2
一、场景客户公司使用内网,不可访问外网,意味着部署整个nodejs项目到客户的服务器的这个过程,不可以使用npm install命令安装资源。客户的服务器系统是linux64位,需要使用pm2监控工具。二、解决思路所有使用的资源在有网络的条件下,提前准备好,一次性上传到客户的服务器,要准备的资源包括:nodejs安装包和nodejs项目包。准备的重点是pm2安装包。三、安装过程...
2018-12-20 18:37:00
5089
原创 js定时器每天定时执行任务
现在,我有一个需求:在nodejs搭建的中间层,定时清理某个文件夹的资源,具体一点,每天凌晨三点对服务器的文件执行一次清理。我的思路是:写一个方法,在服务启动时执行这个方法,这个方法首先加入setTimeout定时器延迟到指定的时间点执行,setTimeout内的回调函数加入一个setInterval定义器,setInterval定义器执行的回调函数延迟到下一个时间点就可以了。因此,我的实现方法简...
2018-12-20 14:38:34
14731
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人