自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fuohua的博客

web前端开发

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 node 配置 babel 的使用

一、配置文件.babelrc.babelrc 文件存放在项目的根目录下。{ "presets": [], "plugins": []}presets 字段设定转码规则,你可以根据需要安装。$ npm install --save-dev babel-preset-es2015 # react转码规则$ npm install --save-dev babel-preset...

2018-04-26 17:35:17 1112

原创 Vuex 基本语法

随着应用复杂度的增加,我们需要考虑如何进行应用的状态管理,将业务逻辑与界面交互相剥离,详细讨论参考笔者的2016-我的前端之路:工具化与工程化。Vue 为我们提供了方便的组件内状态管理的机制,下面这个例子就是常见的获取列表数据然后渲染到界面中:import axios from 'axios'export default {  name: 'projects',  data: functio...

2018-04-25 14:05:30 944

原创 React 面试题目与分析

调用 setState 之后发生了什么?在代码中调用setState函数之后,React 会将传入的参数对象与组件当前的状态合并,然后触发所谓的调和过程(Reconciliation)。经过调和过程,React 会以相对高效的方式根据新的状态构建 React 元素树并且着手重新渲染整个UI界面。在 React 得到元素树之后,React 会自动计算出新的树与老树的节点差异,然后根据差异对界面进行最...

2018-04-25 13:02:09 292 1

原创 Mac 上 nvm安装

一、用nvm-noinstall.zip安装1.nvm-windows 下载https://github.com/coreybutler/nvm-windows/releases把nvm_noinstall.zip解压到比如c:/dev/nvm 中(其它盘也可以,建议开发有关的安装在C盘);3.右键以管理员的身份运行install.cmd . 直接按回车,在C盘根目录下会生成一个setting,t...

2018-04-11 10:42:26 409

原创 GIT 查看/修改用户名和邮箱地址

用户名和邮箱地址的作用用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。每次commit都会用用户名和邮箱纪录。github的contributions统计就是按邮箱来统计的。查看用户名和邮箱地址:$ git config user.name$ git config user.email1234修改用户名和邮箱地址:$ git config --global user.nam...

2018-04-29 16:38:24 196

原创 GIT ssh 设置

设置Git的user name和email:$ git config --global user.name "kk_test"$ git config --global user.email "kk_test@163.com"二、生成SSH密钥过程:1.查看是否已经有了ssh密钥:cd ~/.ssh如果没有密钥则不会有此文件夹,有则备份删除2.生存密钥:$ ssh-keygen -t rsa -C...

2018-04-29 16:36:37 271

原创 js根据生日计算出年龄

/*根据出生日期算出年龄*/  function jsGetAge(strBirthday){             var returnAge;      var strBirthdayArr=strBirthday.split("-");      var birthYear = strBirthdayArr[0];      var birthMonth = strBirthdayArr[...

2018-04-28 14:41:04 4520

原创 js如何往数组Array中添加元素

unshift:将参数添加到原数组开头,并返回数组的长度   [html] view plain copypop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined   [html] view plain copypush:将参数添加到原数组末尾,并返回数组的长度   [html] view plain copyconcat:返回一个新数组,是将参数添加到原数组中构成的 ...

2018-04-28 14:39:35 44701

转载 当你调用setState的时候,发生了什么事?

根据记录,问这些问题可能不是深入了解他们在使用 React 方面的经验的最佳方式。http://www.tuicool.com/articles/fqaqqmF之所以标题是《 React 常见的面试题》,其实只是想起一个比《在 React 里面,你可以知道也可以不知道的事, 但是你会发现他们确实很有用》要简单明了的标题而已。http://johannlai.com/2017/04/09/React...

2018-04-28 10:11:02 10048 2

原创 兴趣

很多人喜欢开车,但是如果他当上了公交车司机、出租车司机……他还会对开车有“兴趣”吗,养家糊口而已。编程也一样,很多人从小热爱电脑,热爱编程,但是一旦称为了职业,编程就是一份工作而已。如果一帆风顺,那么会一直“有兴趣”。但是难免会有挫折。有个故事我在线下分享时讲了很多遍了,今天在 React 中文社区再讲一遍。很所有故事都类似,这个故事的主人公也是“我的一个朋友”。我的一个曾经的同事,有天他告诉我说...

2018-04-27 12:30:08 202

原创 浏览器版本监控与特性识别

var userAgent = navigator.userAgent, rMsie = /(msie\s|trident.*rv:)([\w.]+)/, rFirefox = /(firefox)\/([\w.]+)/, rOpera = /(opera).+version\/([\w.]+)/, rChrome = /(chrome)\/([\w.]+)/, rSafari...

2018-04-25 14:30:52 473

原创 Webpack 内部原理与插件开发

/** * webpack插件开发采用'动态原型模式' * 插件开发,最重要的两个对象:compiler、compilation * @param options * @constructor */function MyPlugin(options) { // 根据 options 配置你的插件}// 我们可以在原型上添加一些方法MyPlugin.prototype.some...

2018-04-25 14:29:12 1911

原创 Webpack 的 Web 应用构建与打包基础

基于 Webpack 的 Web 应用构建与打包基础Webpack 作为模块打包工具,极大地简化了前端的开发打包流程,笔者认为其为前端工程化做出了不可磨灭的贡献。2017 年初,Webpack 2.2 正式版本发布,相较于 1.0 版本中不论在社区文档还是功能实现上都有了长足的进步。Webpack 同时担负着构建系统与模块打包的功能,Webpack 会将你的所有的资源当做模块进行处理。Webpac...

2018-04-25 14:27:08 242

原创 Web 开发已然自成体系,别具一格

Web 开发已然自成体系,别具一格;本系列即是讨论真实应用开发中所需要的理论知识与实践技巧。这是一个最好的时代,也是最坏的时代,我们亲身经历着激动人心的变革,也往往会陷入选择的迷茫。随着浏览器版本的革新与硬件性能的提升,Web 前端开发进入了高歌猛进,日新月异的时代,无数的前端开发框架、技术体系争妍斗艳,让开发者们陷入困惑,乃至于无所适从。特别是随着现代 Web 前端框架(Angular、Reac...

2018-04-25 14:20:31 199

原创 Mock的好处是什么?

1. 团队可以并行工作有了Mock,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;后端与后端之间如果有接口耦合,也同样能被Mock解决;测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock;不会出现一个团队等待另一个团队的情况。这样的话,开发自测阶段就可以及早开展,从而发现缺陷的时机也提前了,有利于整个产品质量以及进度的保证。2. 开启TDD模式,即...

2018-04-24 12:27:35 3750

原创 将一下 prototype 是什么东西,原型链的理解,什么时候用 prototype

prototype    prototype是函数对象上面预设的对象属性    1. JS中所有的东西都是对象,每个对象都有prototype这个属性,这个属性是一个对象(object)    2. JS中所有的东西都由Object衍生而来, 即所有东西原型链的终点指向Object.prototype    3. JS中构造函数和实例(对象)之间有微妙的关系,构造函数通过定义prototype来约...

2018-04-19 14:05:15 1274

原创 React+DVA开发实践

文档结构本文档划分为以下章节,前面几个章节是知识储备,最后章节是项目实践ReactFluxReduxReact-RouterRoadhogAnt DesignDVA项目实践约束定语本文中蓝色字体为超链接本文中红色字体为特别注意内容ReactReact是近期非常火热的一个前端开发框架,当然也有很多人认为它不是一个框架,因为它仅仅是作为MVC模式中的V层用来构建UI。在整个Web应用的MVC架构...

2018-04-19 14:03:54 378

原创 axios 安装

一、安装1、 利用npm安装npm install axios --save2、 利用bower安装bower install axios --save3、 直接利用cdn引入<script src="https://unpkg.com/axios/dist/axios.min.js"></script>二、例子1、 发送一个GET请求//通过给定的ID来发送请求axi...

2018-04-19 13:59:08 7530

原创 React组件生命周期

前言组件会随着组件的props和state改变而发生变化,它的DOM也会有相应的变化。一个组件就是一个状态机:对于特定的输入,它总会返回一致的输出。React组件提供了生命周期的钩子函数去响应组件不同时刻的状态,组件的生命周期如下:实例化存在期销毁期钩子函数是我们重点关注的地方,下面来详细了解下生命周期下的钩子函数调用顺序和作用。每个生命周期阶段调用的钩子函数会略有不同。下面的图片或许对你有帮助。...

2018-04-19 13:57:43 207

原创 forEach()和map()的区别:

相同点:都是循环遍历数组中的每一项forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组)匿名函数中的this都是指向window只能遍历数组接下来我们看看这两个方法 1.map()方法 map定义和用法: map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。 我的理解就是:原数组进行处理之后对应的一个新...

2018-04-19 13:56:22 198

原创 browserHistory和hashHistory

首先 browserHistory 其实使用的是 HTML5 的 History API,浏览器提供相应的接口来修改浏览器的历史记录;而 hashHistory 是通过改变地址后面的 hash 来改变浏览器的历史记录;History API 提供了 pushState() 和 replaceState() 方法来增加或替换历史记录。而 hash 没有相应的方法,所以并没有替换历史记录的功能。但 r...

2018-04-11 10:40:47 2815

原创 .map()和.filter()以及他们的区别

今天看到朋友写的一个数组对比,用的filter(),于是就想想起map(),都是对内部的元素一个一个去遍历,然后输出,到底有什么区别的。 先说下,jquery也有这两个方法,不过大家都懂得,他们都是对JavaScript进行的封装,我这里只说下JavaScript的。我们说的map()和filter()其实是: Array.prototype.map() 创建一个新的数组,其结果是该数组中每个元素...

2018-04-11 10:39:42 2924

重构的知识

重构的知识 重构:改善既有代码的设计》(中文版)另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。《重构:改善既有代码的设计》(中文版)解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。《重构:改善既有代码的设计》(中文版)的核心是一份完整的重构名录

2018-05-04

空空如也

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

TA关注的人

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