![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
祸根苗
这个作者很懒,什么都没留下…
展开
-
react的SSR(1)
需求分析之前做react项目的时候,最早的首屏需要加载的大小在5M左右,也就导致了特别慢的访问速度,后来更改了webpack的配置,启动压缩,分离依赖等各种搞法弄完之后,还有有1M的大小需要加载。如果第一次进入页面,还需要加载依赖,大小大概在1.5M左右。极慢的首屏访问速度严重影响了用户体验,抵消了那次改版的所有优点,后由于我因为某些愿意离职,也就没有再关注过这方面了,之后入职一直在从事rea...原创 2019-03-05 14:09:19 · 615 阅读 · 0 评论 -
TypeScript笔记(2)
元组在TypeScript中,有元组的概念,这个概念的js实现是数组,所以可以理解为是有不同类型对象的数组。let a:[number,string];a = [55,'25']这样是元组的基本用法,有基本用法,那就一定有奇怪的用法。我们可以通过一定方法对任意一个进行赋值,而不管另一个let a:[number,string];a[1] = '25'但是我们不可以在对a直接赋值...原创 2019-03-05 14:15:12 · 117 阅读 · 0 评论 -
TypeScript笔记(1)
类型基本类型TypeScript与JavaScript的区别就是TypeScript更加严谨,这里的严谨体现在对每一个变量的类型要求上,定义这个变量是,就要定义这个变量的类型,而在JavaScript中,变量主要有5个原始数据类型。布尔值,数值,字符串,null,undefined。(正经来说,对象也是一个原始数据类型,但是在ts中,对象和前几个规则差的很多,所以等下再说,还有Symbol,...原创 2019-03-05 14:14:42 · 139 阅读 · 0 评论 -
对象和类
在JavaScript中,万物都是对象,对象就是键值对的无序集合,那么对象是怎么创建的呢?理论上在JavaScript中,所有的对象都是通过构造函数创造出来了,一些简略的写法省略了构造函数,但是并不是没有真正的构造函数。比如let a = {}这样就创建了一个对象a,看似没有使用构造函数,但是顺着原型链去寻找就会发现a.__proto__ == Object.prototype //tr...原创 2019-03-05 14:13:59 · 67 阅读 · 0 评论 -
debounce和throttle
首先,这两个东西不是浏览器提供的api,也不是ECMA搞的,而是在大家通常使用中,根据实际情况而总结出来的两类函数。debounce和throttle解决了什么问题要说明白debounce和throttle解决了什么问题,那就要先说明debounce和throttle是什么。从翻译软件来说,两个的的中文译名分别是去抖和节流阀,似乎很难理解。其实这两个东西都是解决同一个问题,那就是多余频繁的事...原创 2019-03-05 14:13:26 · 379 阅读 · 0 评论 -
Promise
说到Promise大家肯定不陌生,这玩意在现在的程序里到处出现,那么我们今天就好好看一下这个东西。Promise解决了什么问题在代码的层面来说,提出一个东西肯定是为了解决某个问题,那么Promise是为了解决什么问题而出现的呢?我们知道JavaScript是单线程的,但是在浏览器场景下的JavaScript是无法避免的遇到网络请求、浏览器事件这种必须异步执行的东西,所以之前大家使用事件监听调...原创 2019-03-05 14:12:55 · 118 阅读 · 0 评论 -
JavaScript的引入
前import时代在import规定出现之前,大家通常遵守三种规范CommonJS、AMD、CMD。在导出的时候//CommonJSmodule.export={ a:'111', b:function(){ ... }}//AMD CMDdefine(function(require, exports, module){ module....原创 2019-03-05 14:12:24 · 137 阅读 · 0 评论 -
react的SSR(3)
上回我们完成了开发环境的热更新,这次我们要完成的是针对SSR的路由。服务端渲染的路由和客户端渲染的路由并没有很大差距,主要差距在服务端接受到url之后解析路由拿到的数据,然后返回特定页面,之后的的渲染又全部交由客户端完成。也就是说,服务端渲染其实只在用户第一次访问的时候,服务端路由是起效的,之后全部是靠客户端完成的。但是这里我们要考虑路由匹配失效的情况。首先我们下载react-router-...原创 2019-03-05 14:10:40 · 331 阅读 · 0 评论 -
react的SSR(2)
书接上回,在上回的笔记中,已经完成了react的一个最简单的实践,但是这个实践还有很多问题,这次我们来解决一下这些问题。在这回我们主要解决项目在开发时的热更新问题和css的加载问题,顺便把这个项目目录改一改,让他改的像个正经的项目,而不是用于验证可行性的玩具。开发中的热更新在做react的开发的时候,大家肯定非常熟悉webpack-hot-server给我们提供的热更新,他启动了一个node...原创 2019-03-05 14:09:50 · 225 阅读 · 0 评论 -
从输入网址到页面呈现
问题浏览器是大家每天使用的东西,作为前端,我们的主要工作环境也是在浏览器内,那么从我们在浏览器的输入框输入网址之后,到最终页面呈现在我们眼前,都发生了什么呢?大概可以总结为4个步骤域名解析发起tcp的3次握手,建立tcp连接后发起http请求服务器相应http请求,返回给浏览器html(或其他)代码浏览器渲染域名解析域名是什么相信也不用我多说了,www.baidu.com就是一...原创 2019-03-06 10:46:32 · 178 阅读 · 0 评论