自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 VUE添加动态路由,退出重新登录后页面报提示:路由重复 [vue-router] Duplicate named routes definition: {

VUE添加动态路由,退出重新登录后页面报提示:路由重复 [vue-router] Duplicate named routes definition: {

2022-11-21 10:08:26 982

转载 项目优化:echarts与lodash的按需加载

项目优化:echarts与lodash的按需加载

2022-06-10 17:08:47 789

原创 VUE双向绑定的原理(简单版)+虚拟DOM 节点的创建和更新

VUE双向绑定原理

2022-06-09 17:40:36 664

原创 自定义ElementUI el-table 的列tooltip,解决当tooltip文字多(超过1000字),高度不够一直闪,不显示的问题,主要还是max-width的设置,别无他法,就加大最大宽度

<el-table-column min-width="130" prop="remark" label="原因" align="left" header-align="left" ...

2022-05-27 17:13:12 3120

转载 使用patch-package定制化node_modules依赖包

郑重申明:本人不是原创,只是没有原文链接,在原文的基础上修改了一下,希望帮到大家,谢谢使用背景:很多时候我们使用的依赖包不能完全满足我们的需求,尤其是一些第三方的ui库需要我们进行定制化开发。但是,我们修改对应文件以后,你的小伙伴拉取代码再次npm install一下,你的修改就会被覆盖掉,这样就带来很大困扰。当然你可以选择复制源码,再根据自己的需求进行修改自己封装一个组件,但是这样工作量相对较大,比较麻烦。解决方案:我们可以通过使用patch-package对依赖包打补丁的方式,后续我们无论使

2022-03-18 15:25:07 477

转载 npm install 不更改 package-lock.json 文件的解决方法

package-lock.json 文件是版本锁定文件package-lock.json 是在 `npm install` 时候生成的一份文件,用以记录当前状态下实际安装的各个 npm package 的具体来源和版本号。package-lock.json 文件的作用锁定安装时的包的版本号,并且需要上传到 git,以保证其他人在 `npm install` 时大家的依赖能保证一致。为了防止各个开发者采用各个依赖一致性原则, 下载其他人合并之后的依赖时应采用:npm install --no-

2022-03-18 15:10:57 849

原创 CentOS7安装node(转载基础上实践成功)

网上搜了很多,1、进入NodeJs官网,获取到nodeJs的安装地址(在linux下的安装地址)附上地址:Node.js Mirror我这里安装的是15.5版本的。2、然后将下载下来的tar文件拷贝到centos服务器上建议使用XFTP上传,如果直接拖动的服务器上,可能导致解压缩的时候会失败3、在linux下进行安装NodeJs解压文件[root@localhost node]# tar -zxvf node-v15.5.0-linux-x64.tar.gznode-v

2021-10-29 14:32:06 1927

原创 比较 React vue, 单向绑定 双向绑定 优缺点

比较 React vue, 单项绑定 双向绑定 优缺点React 单项:优点:数据流更清晰,只有唯一的入口和出口,数据状态变化都能被记录、被跟踪,易于维护,调试也很方便,顺藤摸瓜,适用于大型复杂项目,缺点:代码量多了一点,表单校验这种,有时就会比较繁琐Vue 双向:优点:代码量减少,操作更方便(表单操作,双向绑定更优,简化了代码),个人认为双向绑定适用局部处理,就是针对个别场景,不适合太复杂的大项目缺点:数据流转比较混乱,不止一处修改入口,难以调试,不易维护...

2021-05-25 15:03:54 1264

原创 虚拟DOM的意义

虚拟DOM的意义:操作真实DOM代码很冗余,难以维护,而且每次都频繁操作DOM很耗性能,会出现页面卡死的情况,使用虚拟DOM能减少对真实DOM的操作,大大提高渲染效率,优化前端性能的必要手段。虚拟DOM是javascript模拟DOM结构的树形结构,也可以理解成是一个对象,把真实DOM转换为js代码,里面有tag、children、attributes字段等等虚拟DOM中进行频繁修改,最后一次性根据diff算法比对真实DOM和虚拟DOM的差异,最后再渲染差异部分,减少真实DOM节点的回.

2021-05-25 14:27:39 323

转载 DOM的解析渲染流程

DOM的解析渲染流程一、大致分为五步:  1.解析HTML  2.构建DOM树  3.DOM树与CSS样式进行附着构造呈现树  4.布局  5.绘制二、解析渲染过程  1.DOM Tree:浏览器将HTML解析成树形的数据结构。  2.CSS Rule Tree:浏览器将CSS解析成树形的数据结构。  3.Render Tree: DOM和CSSOM合并后生成Render Tree(渲染树)。  4.layout: 有了Render Tree,浏览器已经能知道网页

2021-05-25 10:57:49 773

原创 JavaScript中this指向

JavaScript中this指向1、在全局作用域下this指向window2、函数中:情况一、普通函数foo(); this指向windowobj.foo(); this指向objnew的方式(构造函数时,new一个对象) this指向new出来的实例情况二、箭头函数this指向包裹箭头函数的第一个普通函数情况三、call、apply、bindthis被强制绑定到指定的对象上3、在class中,this指向新创建的类实例:一种写法...

2021-05-06 15:52:18 286

原创 CommonJS、AMD、 CMD 和 ES6模块化的对比

commonJS es6require 支持 支持export/import 不支持 支持exports/module.exports 支持 不支持--------------------------------------------------commonJS: 输出:值拷贝 加载方式:对象es6 输出:引用,也就是地址 加载方式:静态代码块--------------------------------------------------common...

2021-04-01 17:50:49 104

转载 JavaScript基础——JS编译器你都做了啥?

在写这篇文章之前,小编工作中从来没有问过自己这个问题,不就是写代码,编译器将代码编辑成计算机能识别的01代码,有什么好了解的。其实不然,编译器在将JS代码变成可执行代码,做了很多繁杂的工作,只有深入了解背后编译的原理,我们才能写出更优质的代码,了解各种前端框架背后的本质。为了写这篇文章,小编也是诚惶诚恐,阅读了相关的资料,也是一个学习了解的过程,难免有些问题,欢迎各位指正,共同提高。题外话——重回孩童时代的好奇心现在的生活节奏和压力,也许让我们透不过气,我们日复一日的写着代码,疲于学习各种各样前端框

2021-04-01 16:49:10 252

原创 JS数组实现栈

function Stack () { this.list = []; Stack.prototype.push = (item) => { this.list.push(item); } Stack.prototype.pop = () => { this.list.pop(); } Stack.prototype.size = () => { return this.list.len.

2021-03-29 10:57:52 428

原创 输入N个随机整数,大小取值范围在1-N之间,且不能有重复

const aa = 12let bb = new Array(aa)for(let i = 0; i < bb.length; i++) { const cc = parseInt(Math.random() * aa) + 1; if(bb.indexOf(cc) === -1) { bb[i] = cc; } else { i--; }}bb.sort((a, b) => a-b)// bb的结果 [1, 2,.

2021-03-25 17:59:00 223

转载 【前端】webpack、npm、node、nodejs之间的关系

简略:1、手撸HTML,CSS,JS的时代已经过去,前端产品,不再是手撸HTML了,他们会先安装node.js,用npm,用webpack,用yarn,用各种cli。2、vue-cli是一个vue项目的脚手架,可以快速的构建一个vue的基于npm的模块化项目,vue内部的打包机制其实还是借助webpack;3、webpack是一个打包工具,可以帮你把你通过模块化开发的项目 打包为简洁版的浏览器可识别的静态资源;4、npm包管理工具传统的HTML,CSS,JS管理太繁杂...

2021-01-14 11:18:32 971

原创 react防抖节流

import React from 'react'import { debounce, throttle } from 'lodash' // 防抖、节流class About2 extends React.Component { constructor(props) { super(props) this.handleChange = this.handleChange.bind(this) this.emitChangeDebounced = debounce(t.

2020-11-26 11:16:37 293

原创 React Hooks 钩子函数的使用

v16.8 版本引入设计目的:加强版函数组件,完全不使用"类",就能写出一个全功能的组件钩子使用use前缀命名,要使用 xxx 功能,钩子就命名为 usexxx。React默认提供的4种钩子useState() // 状态钩子 useContext() // 共享状态钩子 useReducer() // action 钩子 useEffect() // 副作用钩子eg.useState的使用import React, { useState } from 'react';.

2020-11-25 17:14:51 725

转载 如何在react中使用less

目前创建react项目一般使用 create-react-app 这个脚手架工具来创建,但这种方式默认没有对于less的配置。所以我们自己配置一下:1. 暴露出webpack配置文件#使用create-react-app 创建的项目默认是看不到webpack配置文件的,需要先暴露出来,然后才能修改里面的配置信息。终端运行一下命令(注意:此命令一旦运行会修改package.json 文件,不可回退)npm run eject2. 安装less和less-loader#运行以下命令:

2020-10-29 16:33:26 1761

原创 create-react-app npm run eject 报错(网上找了好久才找到,最终成功)

create-react-app my-react-appcd my-react-appgit initgit add .git commit -m ‘Saving before ejecting’npm run eject按照以上顺序就可以正常使用主要问题是脚手架添加.gitgnore文件,但是却没有本地仓库----------------------------------------...

2020-10-29 14:09:44 66

转载 Runtime 10种用法

阅读了多篇运行时的文章,感觉都很不错,从几篇文章里面提取一些个人认为比较重要的,偏实战的知识点的摘录,另外还结合了个人的创造形成此文。再牛逼的技术和实战结合才有意义,本篇介绍技术尽量和实战联系起来,有些没讲明白的,我给的链接里面都有,所以我就不赘述了... 1)替换系统方法, 2)字典转model, 3)归档, 4)万能控制器跳转 四个偏实战的方法从不同的文...

2018-09-29 15:27:14 244

转载 vue项目 构建 打包 发布 三部曲

v一、vue项目的创建1、首先第一肯定是要有Node.js及npm这个不多说了2、安装脚手架 此时可以直接浏览-但是现在肯定有很多小白想将他发布到gitHub上并可以浏览,使用vue全家桶制作自己的博客。 现在就有我来说说如何讲vue项目发布到github上 之前写过vue环境搭建 可以参考: vue环境搭建 二、vue项目的打包1、大家都知道使用npm run b...

2018-08-21 14:10:00 212

转载 使用 ESLint 做项目的代码规范

使用 ESLint 做项目的代码规范名词解释名词解释ESLint一个针对代码规范的库eslint-config-airbnbESLint 的扩展, airbnb 公司分享的代码规范配置ESLint 主页eslint-config-airbnb 主页开始配置进入项目目录, mac 电脑终端执行( export PKG=eslint-config-airbnb; npm info "$PKG@

2018-01-19 11:26:19 2179

转载 内网GitLab证书配置

内网GitLab证书配置内网GitLab地址 UM账号密码登录查看自己的 SSH 证书$ cd ~/.ssh$ ls如果没有会报错找不着文件夹, 生成证书, 一直点 enter 就好, 不设置密码$ ssh-keygen -t rsa -C "[email protected]"完成之后~/.ssh目录下会生成2个文件, id_rsa和id_rsa.pub, 代表公钥和私钥, 用c

2018-01-19 11:24:46 2401

转载 React-Native开发环境配置

React-Native开发环境配置前端开发, 首选 Visual Studio Code.下面推荐一些 React-Native 开发必备的插件, 让你的开发效率飞起来!插件名简单描述React Native Tools官方制作, RN必装vscode-icons一个目录主题, 让你的目录更好看Auto Close Tag输入> 或者 / 自动关闭标签Auto Rename Tag选中一个标签,

2018-01-19 11:23:53 199

转载 MySQL常用SQL语句

常规查询查询一张表中的所有数据[sql] view plain copyselect * from table_name;  查询一张表中的指定列数据[sql] view plain copyselect column_a,column_b from ta

2017-12-07 09:59:22 186

转载 网页特殊符号HTML代码大全

网页特殊符号HTML代码大全HTML特殊字符编码大全:往网页中输入特殊字符,需在html代码中加入以&开头的字母组合或以&#开头的数字。下面就是以字母或数字表示的特殊符号大全。          ´´

2017-11-29 11:14:26 2003

原创 新建react native 项目

新建react native 项目1、cd 切换到新建目录需要的文件夹下cd Desktop2、创建项目myFirstReactProject 为项目名react-native init myFirstReactProject3、新开一个终端,切换到新建的项目目录下cd /Users/zhuling/Deskt

2017-07-15 09:46:39 346

原创 react native 项目端口号修改

react native 项目端口号修改成8080的操作步骤:1、在项目中的node_modules\react-native\local-cli\server\server.js文件中将default的端口号8081修改成80802、在项目Xcode中搜索8081,将所有8081修改成80803、在项目Xcode中选中左侧文件目录中dashboard\Libraries\

2017-07-15 09:45:05 1105

转载 多年iOS开发经验总结(一)

转载:http://www.jianshu.com/p/1ff9e44ccc78总结了几个月的东西终于能和大家分享了,不多说,直接看东西!1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabled = YES;2、隐藏某行cell- (CGFloat)tableView:(UITableView *)table

2017-07-15 09:34:39 962

转载 多年iOS开发经验总结(二)

转载地址:http://www.jianshu.com/p/9fcd37c0ea05 1、设置UILabel行间距NSMutableAttributedString* attrString = [[NSMutableAttributedString alloc] initWithString:label.text]; NSMutableParagraphS

2017-07-15 09:33:12 585

原创 react native navigator 的使用

import React, { Component } from 'react';import {    AppRegistry,    StyleSheet,    Text,    View,    Navigator,    TouchableOpacity,} from 'react-native';

2017-03-14 14:55:05 295

转载 如何运行github上react native项目

写在前面之前就发现百度上,关于下载github上react native项目(下文称RN)运行的方法不全,今天抽空整理下,给大家一点灵感。一、下载RN项目以react-native-nba-app作为事例https://github.com/wwayne/react-native-nba-app 克隆项目到本地 运行命令$Git clone https://

2017-02-27 08:23:22 3329

转载 MAC-安装与破解WebStorm

WebStorm下载地址:链接: https://pan.baidu.com/s/1c27kQTa 密码: 49k51安装步骤 1.打开dmg镜像,将“WebStorm.app”拖入应用程序中; 2.打开WebStorm到激活页面,然后退出WebStorm,这步很重要。网上都没有明确说明,导致操作完下面的步奏,打开WebStorm的时候提示错误。 3.将“Jetbrains

2017-02-27 08:20:05 372

原创 sql语句select group by order by where一般先后顺序

写的顺序:select ... from... where.... group by... having... order by..执行顺序:from... where...group by... having.... select ... order by...

2017-02-24 10:24:42 628

转载 copy assign retain 修饰属性的set 方法

@property (nonatomic,retain) NSString * name; - (void)setName:(NSString*)name{        [name retain];  // 把传进来的对象引用计数加一         [_name  release]; // 把_name以前的对象release一次       

2017-02-23 14:04:45 1444

转载 GCD group 用法 and 项目实践

在dispatch_queue中所有的任务执行完成后在做某种操作,这个需求在项目中非常常见,但是在并行队列中怎么处理,尤其是多个网络请求,那就用dispatch_group 成组操作:项目背景:一个 tableView 的两个 section 需要不同网络接口,而且必须要等到两个网络请求结束后再创建 tableView(类似的需求在项目中不要太多)//第一步dispatch_grou

2017-02-23 14:02:47 276

转载 远程服务器怎么连接

利用windows自带远程桌面连接服务器,海星星  日付服务器 碉堡了工具/原料远程桌面 IP地址账号方法/步骤1本商品直接使用WINDOWS自带的远程桌面连接就可以进行使用。点开始——点运行(或者直接用窗口键[win]+R)————在运行对话框输入mstsc.exe

2016-12-15 17:02:38 7929

原创 打印iPhone系统自带的字体列表

NSArray *familyNames = [UIFont familyNames];   for(NSString *familyName in familyNames)   {       NSLog(@"%@", familyName);       NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName

2016-12-09 17:44:50 844

原创 IOS 图片去色 变灰处理

- (void)viewDidLoad {    [superviewDidLoad];        NSString *_imageURL =@"https://developers.google.cn/web/images/hero-2x.png";        self.backImage = [[UIImageViewalloc]in

2016-12-08 14:12:04 4125

空空如也

空空如也

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

TA关注的人

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