首屏SSR服务端渲染(同构)

服务端渲染、Ajax、React和Vue 服务端渲染: 缺陷:每一次页面切换都要重新下载刷新 Ajax 缺陷:用户需要等待API请求成功才能看到第一条有意义的内容,并且性能有极限。对DOM树的直接操作都是很耗浏览器性能、更难以优化 Vue、React 使用虚拟DOM和浏览器路由等解决了上面的问题。 性能指标 TTFP(Time To First Paint):从网页HTTP请求发出,到用户可以看到的第一个有意义的内容渲染出来的时间。 显然我们希望TTFP越小越好。 代驾webapp为例:现在我们开发的时候,都是设定一个空的HTML架子,然后内嵌js文件的形式进行开发。 这样至少需要三次HTTP请求来能满足TTFP的时间点: 获取空的HTML架子 获取js文件 访问API服务器获取数据,然后重新渲染。…

如何编写一个webpack loader

最近一套代码多端运行的设计理念在整个前端界有点过火了,当然这种多端运行的设计都离不开各种加载打包工具。将一套代码转换成各种端能够识别代码,就需要使用各种loader。本文主要通过一个简单的例子指导如何编写一个webpack loader。…

webpack

React-isomorphic-starter同构脚手架

开发React项目的时候,没有使用官方提供的create-react-app脚手架,而是自己根据项目实际需求组建了一套开发脚手架。本文主要记录组建一套React开发脚手架的过程。…

React

使用Nginx开启HTTPS和HTTP2

之前写过一篇有关HTTP2.0的文章:[关于HTTP/2协议的那些事](http://nekomiao.me/http2/)后,尝试使用koa2的app.callback()返回的函数内嵌到Node.js原生HTTP2模块的ALPN中.但是这种方法有个缺点是:应用程序必须将自己限制为HTTP/1的公共API,却无法使用HTTP2模块的高级特性。 所以决定使用Nginx辅助项目应用程序开启HTTPS和HTTP2。…

Nginx

使用Commander开发命令行工具的注意点

各种手脚架中经常使用Commander模块开发命令行工具,提供使用者可定制脚手架的功能。本文主要记录作者在使用Commander模块时碰到的问题,并不会过多介绍Commander模块如何使用,点击链接(https://www.npmjs.com/package/commander)查看更多Commander模块的相关信息…

Node.js

多层代理或负载均衡 额外的HTTP头部信息

Koa2本身是支持代理支持的服务端框架,在阅读Koa2文档的时候,文档中使用了代理时才会使用的HTTP头部。这些HTTP头部早期并没有被添加到RFC标准中,由于被各大HTTP代理、负载均衡等转发服务广泛使用也被加入到RFC标准中。…

HTTP

Koa2源码阅读整理

在学习Koa2的过程中,发现Koa2的源码只有4个文件,四个文件的合起来的代码都没超过2000行,就决定把Koa2的源码看一遍,这里也做一个整理.…

Node.js