浅谈 vue 前端同构框架 nuxt 及其性能优化

前言

使用 nuxt.js 做项目也接近快一年了,从立项到内测、公测、再到正式上线,还有后面的不断维护,也陆陆续续的踩了很多坑,其中最大的问题就是 node 的渲染性能问题了。模板转换是 cpu 密集型的操作,node 又是单线程的,并发一高,cpu 就会飙到 100% 。为了提升 nuxt.js 的渲染性能,也陆陆续续的查找了很多资料,发现网上针对 nuxt.js 的性能优化的文章比较少,比较杂。所以我写下这篇文章记录下自己对 nuxt.js 做性能优化的时候采取的一些方法,算是篇总结吧,也希望能给从谷歌搜到这的朋友一些帮助。本文着重于性能优化,对概念类的东西会一概而过。


浅谈 vue 在 created 和 mounted 请求异步数据的一些谣言

前言

今天下班,日常在公交车上用手机浏览技术社区,刷文章。偶然看到一篇文章,其中一部分内容如下图:
浅谈 vue 在 created 和 mounted 请求异步数据的区别
其大意是在 created 这个生命周期请求异步数据的话,请求过多,页面会长时间处于白屏。看到这我就不淡定了,请求不是异步的?怎么会影响到渲染呢?EventLoop 白学了?之后我将这张截图发给朋友讨论了一波,发现还是有挺多人搞不清楚其中的关键,都说在 mounted 阶段请求数据会比较好,在 created 请求可能会找不到需要渲染的元素之类的。于是就有了这篇文章的诞生。


关于 Vue2.0 的生命周期

前言

Vue实例从创建开始到结束销毁的一系列过程,在这个过程中会有特定阶段的钩子函数,这些钩子函数会在 Vue 的各个状态中执行。
总体上分为 8 个阶段:创建前/创建后;挂载前/挂载后;更新前/更新后;销毁前/销毁后。


从 JavaScript 看函数式编程之美

先占个坑,这阵子实习,忙着忙着项目的混合app开发,有空再更……

ES6 Promise 对象

前言

ES6 都出来三年了,在 ES6 中将 Promise 正式列为标准,这也就意味着 JavaScript 的异步编程又有一种新的写法,且这种写法更加的优雅,更易于维护。毕竟,Node.js 中大部分都是异步的。我写这篇文章主要对 Promise 对象进行系统的叙述讨论,并以此展开 JavaScriot 的运行机制。从而提高自己的知识水平,毕竟,人总是在积累、总结中成长的。


谈谈原生 Ajax

前言

之前写 Ajax 交互,都是使用已经封装好的库,今天就来聊聊原生的 Ajax。 Ajax 就是 Asynchronous JavaScript + XML 的简写,这一技术能向服务器请求额外的数据而无需重载页面。也就是用户无需刷新页面,便能从服务器获取数据的更新,这样能使用户得到更好的体验。比如有时候,会有这样的一个需求:只想要改变页面的某个区域。而以前的技术只能通过刷新页面来实现,向服务器重新请求页面,这样会增加多余的一些请求,从而影响性能。而 Ajax 则是为了解决这一问题诞生的,是网页无需刷新页面,使用 JavaScript 与服务器进行交互的一种技术。


JavaScript 中的继承总结

前言

由于 JavaScript 并不是那些“传统意义上”的面向对象的语言, 它在 ES5 中并没有类的概念, 没有真正意义上的继承, 但我们去可以进行模拟, 来实现所谓的继承。
在 JavaScript 中, 实现继承的过程中总感觉很有趣, 至少在 ES5 中是这样的, ES5 中自己亲自要通过原型链去实现继承, 而在 ES6 中则将这些需要自己写的封装成了一个接口, 其本质上还是一样, 都是通过原型链实现继承。



谈谈 JS 中 __proto__ 和 prototype

前言

关系图
在学习 JavaScript 的过程中, 深感这门语言的一些奇葩设定, 在学习 __proto__ 和 prototype 时, 遇到了一些困惑, 思考了挺久也查阅了很多资料, 于是写了这篇博客来记录。



JavaScript 数组对象 Array

前言

在 JavaScript 中引用类型除了 Object 外,最常用的恐怕就是 数组 Array 了。 都说 JavaScript 中万物基于对象(但我觉得这句话有些时候也是有些坑的), 所以 Array 对象也有很多它内置的方法。
JavaScript 是弱类型语言, 所以我们不用声明就可以直接使用了, 但这样是比较不推荐的。 JavaScript 中的数组也是个有序列表, 但和其他语言有所不同的是, JavaScript 数组中的每一项都可以保存任何类型的数据。 有点像 Python 中的列表, 我们可以用数组中的第一项保存一个数字, 第二项保存一个字符串, 而第三项可以保存一个 Object, 没有任何限制。 并且其数组大小是动态调整的, 可以随数据增长而自动增大数组大小。



JavaScript 中的几种函数声明方式小记录

前言

最近在学 JavaScript 对其的函数声明的几种方式有很大的兴趣, 思考了一些东西, 所以就写下这篇博客来记录, 可以说 函数是 JavaScript 中最有趣的东西了. 据说 Brendan Eich 在创造它时, 比较中意的是函数式, 但他当时的公司在于 sun 合作, 所以希望他把 JavaScript 整的像 Java 一点, 并取名为 JavaScript. 但与 Java 并没有什么关系. 在其风格上看, 个人认为更像是 C 风格的函数式脚本语言.
JavaScript 中所有的一切都是对象, Object 是一个基础类型, 而 Function 类型是引用 Object 类型继承而来的, 函数作为 Function 类型的实例, 也是对象.



Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×