多啦的博客

梦里青草香

Egg03 断点调试

使用Chrome调试 需要Node 8.x+版本以上。 首先执行npm run debug(与node app.js --inspect原理相同) 然后有两种方法启动控制台(不是访问接口的控制台,而是直接启动一个新的针对Node的控制台) (1)执行npm run debug之后,在控制台最后会输...

2019-05-16 19:11:53

阅读数 7

评论数 0

算法09 从数组中取出n个元素的所有组合

题目 给定一个数组arr,从中选出n个元素,要求给出所有组合的情况(结果在一个数组中) 例子: const arr = ['1', '2', '3']; const n = 2; const result = getCombine(arr, b); console.log(result); //...

2019-05-16 09:57:17

阅读数 11

评论数 0

HTML+CSS32 FOUC

什么是FOUC FOUC,Flash Of Unstyled Content,中文名称无样式内容闪烁。就是当浏览器在解析一个网页的时候,会出现的内容样式闪烁的现象。 具体的过程是,当页面加载渲染时,首先以样式A渲染,当页面加载渲染完成时,页面突然改为由样式B渲染,导致出现页面样式闪烁。 原理 为什...

2019-05-14 09:57:34

阅读数 8

评论数 0

HTML+CSS31 网页换肤

常规做法1 一个全局class来控制样式,切换皮肤时通过更改全局样式来实现换肤: <!DOCTYPE html> <html lang="en"> <head> <meta c...

2019-05-13 22:24:30

阅读数 12

评论数 0

React-Router03 按需加载

为了提高页面加载性能,加载首屏的加载速度,有的时候我们需要对路由进行懒按需加载,减少首屏需要加载的代码包的体积。 按需加载就是不加载当前路由匹配的组件代码,而不加载其他组件的代码 V3中的实现 在V4版本之前,需要利用getComponet这个API来实现按需加载: const about =...

2019-05-13 11:08:55

阅读数 31

评论数 0

React-Router02 静态路由和动态路由

静态路由 传统的路由一般都是静态路由,像Express等框架,使用的都是静态路由: React.render(( <Router> <Route path="/" component={App}> ...

2019-05-13 11:08:37

阅读数 28

评论数 0

React基础12 React中的this绑定

已同步到个人博客,欢迎访问。 为什么要bind(this) React的Class组件中常常会用到bind(this)来绑定this,但是究竟为什么要这么做呢?难道Class中的方法拿不到实例的this吗? 来试验一下: class Person { constructor(name) { ...

2019-05-12 23:14:16

阅读数 8

评论数 0

React基础11 React中初始化state的两种方法

初始化state的两种方法 在React的组件中可以在两个位置来初始化state:(1)在组件的constructor中;(2)直接在class中利用属性赋值的方式 在constructor中 在constructor中初始化state如下所示: class App extends React.C...

2019-05-12 17:40:48

阅读数 17

评论数 0

零散专题09 Moment.js和date-fns

Moment.js Moment.js是一个(轻量级)的Javascript日期处理类库,使用它可以轻松解决前端开发中遇到的种种日期时间问题。 Moment.js不依赖任何第三方库,支持字符串、Date、时间戳以及数组等格式,可以格式化日期时间,计算相对时间,获取特定时间后的日期时间等等。 支持中...

2019-05-09 18:42:11

阅读数 24

评论数 0

零散专题10 Fetch API

简介 Fetch是基于Promise设计的,是属于window对象的方法,可以用来替代Ajax。旧浏览器不支持Promise,需要使用Polyfill进行处理 。 兼容性 目前浏览器对Fetch的原生的支持率并不高,幸运的是,引入下面这些polyfill后可以完美支持IE8+ : 由于IE8是...

2019-05-09 11:45:53

阅读数 27

评论数 0

Egg02 使用Postman发送Post请求

在网页发送请求 默认情况下,Egg在框架中内置了安全插件egg-security,插件中针对post请求做出了一些处理。 在AJAX请求中,默认配置下,token会被设置在Cookie中,在AJAX请求时,可以从Cookie中获取到token,放置到query、body或者header中发送给服务...

2019-05-05 19:43:11

阅读数 10

评论数 0

Egg01 入门

在调研BFF的过程中,看到蚂蚁金服自研的BFF的开发框架BFF Chair是基于Egg.js开发的。BFF Chair没有开源,但是Egg.js已经开源了,如果需要引入BFF,需要基于Egg.js的基础上开发自己的BFF开发框架。 1 Egg.js是什么 Egg是一个为了开发企业级应用的框架,没...

2019-05-05 19:42:47

阅读数 48

评论数 0

Koa01 中间件

概念 Koa中间件的最大特色就是中间件(middleware)的设计。 中间件是一个函数,它处在HTTP Request和HTTP Response中间,用来实现某种中间功能,通过app.use()来加载中间件。 const Koa = require('koa'); const app = n...

2019-05-05 16:49:43

阅读数 82

评论数 0

Node14 Buffer对象

概述 Buffer对象是Node处理二进制数据的一个接口,它是Node原生提供的全局对象,可以直接使用,不需要require Buffer对象是一个构造函数,生成的实例代表了V8引擎分配的一段内存,是一个类数组对象,成员是0到255的数值,即一个8位的字节 let btyes = new Buff...

2019-05-05 09:52:17

阅读数 7

评论数 0

Node14 文件路径

路径表示 Node.js中的文件路径主要有以下几种: __dirname __filename proces.cwd() ./ ../ 其中前三个是绝对路径,后两个是相对路径 ,可以通过path.resolve转换为绝对路径 我现在的目录结构是这样的: D:/ -projects/ ...

2019-04-30 10:49:10

阅读数 23

评论数 0

Node05 常用模块

1 http模块 略 2 url模块 用来生成和解析URL,使用前需要通过require加载 2.1 url.resolve(base, path) 用来生成URL,第一个参数是基准URL,其余参数是根据基准URL,生成对应的位置 url.resolve('/one/two/three', 'fo...

2019-04-30 10:41:40

阅读数 14

评论数 0

零散专题29 OAuth 2.0

已同步到个人博客,欢迎访问。 定义 OAuth是一种授权机制,数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。 例子 举个例子,京东App要求访问我的微信头像和昵称,这里面,我是数据的所有者,而微信就是...

2019-04-28 15:36:23

阅读数 32

评论数 0

BFF调研-1

前端开发中存在的难问题 多端应用,不同类型客户端对数据、API有个性化的需求 服务聚合,单一后端为多个前端团队提供接口,导致跨团队协作低效,资源协调困难 问题:服务端设计的接口究竟是面向UI,还是面向通用服务? BFF 解决方案: Backends For Frontends, 简称BFF。 ...

2019-04-16 14:01:06

阅读数 120

评论数 0

React提高09 Hooks

已同步到个人博客,欢迎访问。 文中涉及到的代码在这里。 精简版 React Hooks是V16.8的新特性,是一个向后兼容的新特性(不会引入破坏性的改变)。 引入的原因 实现比现有方案(HOC/Render Props)更优雅的代码复用,为纯组件引入状态,能够将组件划分为更细的粒度。 内置Hoo...

2019-03-27 18:20:01

阅读数 68

评论数 0

零散专题16 EditorConfig和ESLint

已同步到个人博客,欢迎访问。 EditorConfig 为了保持项目中代码缩进风格的一致,可以使用EditorConfig来定义和维护一致的编码风格,例如范缩进风格,缩进大小,Tab长度以及字符集等。 标准的.editorconfig文件中,第一行是EditorConfig的官网,第二行是用于指...

2019-03-20 16:18:41

阅读数 75

评论数 0

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