C++

co源码分析(thunk版本3.1.0)

co的thunk版本,就是将所有 函数,generator,generator function,object,array,promise,都转换为thunk函数,在thunk函数的回调中,切换外部包装的generator的状态,即调用next方法,来依次执行所有的异步任务。其中的,object和a...

TCP队头阻塞和HTTP队头阻塞

1.TCP队头阻塞TCP数据包是有序传输,中间一个数据包丢失,会等待该数据包重传,造成后面的数据包的阻塞。2.HTTP队头阻塞http队头阻塞和TCP队头阻塞完全不是一回事。http1.x采用长连接(Connection:keep-alive),可以在一个TCP请求上,发送多个http请求。有非管道化和管道化,两种方式...
代码星球·2020-06-29

react-router v4 参数传递

react-routerv4参数传递有3中方式,分别是params,query和state。1.params(路径参数)parrams的传递要在路由配置上添加参数,是路由路径的一部分,在斜杠后面写参数,就是路径参数。//路由表<Routepath='/user/:id'component={User}>&l...

webpack长缓存优化

1.文件不随编译变化文件hash不使用[hash],而使用[chunkhash],使得文件只随着内容变化,不随着编译变化,[hash]是每次编译都变化一次 2.css文件不受js模块变化影响css文件hash使用contenthash,这样不受js模块变化影响 3.提取vendor公共库不受业务模块...
代码星球·2020-06-29

script的crossorigin开启获取详细报错信息

script不加crossorigin,在页面报错,只能看到scripterror这个错误,无详细信息,添加了crossorigin之后,服务端同时配置Access-Control-Allow-Origin,就可以获取详细错误消息...

webpack-dev-server多入口访问路由要加html后缀

webpack打包多入口页面时,访问非index页面,要加上文件名后缀,否则访问不到。在dist文件部署上去之后,可以通过配置nginx的路由,来省略文件名后缀。在开发模式,使用webpack-dev-server时候,若打包生成index.html和login.html, 访问login.html的路由一定...

webpack基本概念、打包流程和热更新原理

webpack核心概念entry:编译入口module:模块,在webpack中,一切皆为模块,一个模块对应一个文件Chunk:代码块,一个chunk由多个模块组合而成,用于代码的合并与分割Loader:模块转换器,将非js模块转化为webpack能识别的js模块Plugin:扩展插件,在webpack运行的各个阶段,...

componentWillReceiveProps和componentDidUpdate区别

 参数触发时机更新方式componentWillReceivePropscomponentWillReceiveProps(nextProps)只有一个参数nextProps,下一次的props收到新的props之前做一些事情仅在props变化时会触发更新状态是同步的,  不触发重新ren...

React.memo与PureComponent

React.memo是一个高阶组件,本质就是一个函数。基本形式如下:React.memo(functionlComponent,areEqual) React.memo与PureComponent作用一样,都是用来减少组件渲染。区别如下:1. React.memo针对函数式组件,PureCompon...
代码星球·2020-06-29

React Hooks基本类型

useState生成状态useEffect执行副作用(不会阻塞浏览器渲染,原理是使用了requestIdleCallback,在浏览器空闲时执行callback)useContext获取context参数useReducer修改状态useCallback缓存函数useMemo缓存变量useRef生成ref和存储任意类型...
代码星球·2020-06-29

Access-Control-Allow-Origin为*前端不能携带cookie

Access-Control-Allow-Origin为*的时候,前端设置withCredentials:true,将不能发送cookie到服务端。此外,前端要发送cookie到服务端,还要 XMLHttpRequest的withCredentials标志设置为true,且服务器端的响应中未携带 A...

nginx 分离配置文件 conf.d和default.conf

1.在nginx.conf文件中引用conf.d下的所有配置文件#在http配置节的末尾添加配置引用http{...#gzipon;include/etc/nginx/conf.d/*.conf;}2.在conf.d中添加default.conf配置文件server{listen80;server_namelocalh...

React.lazy和React.Suspense异步加载组件

在React16.6中引入了React.lazy和React.Suspense,这两个组件,可以用来实现异步加载组件。例如:constjohanComponent=React.lazy(()=>import(/*webpackChunkName:"johanComponent"*/'./myAwesome.com...

React错误收集

1.  UncaughtError:Elementtypeisinvalid:expectedastring(forbuilt-incomponents)oraclass/function(forcompositecomponents)butgot:undefined.Youlikelyforgot...
代码星球·2020-06-29

process.nextTick,Promise.then,setTimeout,setImmediate执行顺序

1.同步代码执行顺序优先级高于异步代码执行顺序优先级;2.newPromise(fn)中的fn是同步执行;3.process.nextTick()>Promise.then()>setTimeout>setImmediate  出处:https://www.jb51.net/art...