JavaScript

如果不清楚什么是Egg.js,希望能移步到它的官网简单看下。另外说它是约定大于配置的话,我只能说你真的不了解它,或者说不了解框架,哪个框架没有约定?毕竟没有规矩不成方圆,何况是逻辑性的程序呢?官方列出的特性如下:

1.提供基于 Egg 定制上层框架 的能力
2.高度可扩展的插件机制
3.内置多进程管理
4.基于 Koa 开发,性能优异
5.框架稳定,测试覆盖率高
6.渐进式开发

第1条,它有那么Koa也有啊。第2条,它有,难道Koa、Express等就没有嘛?第4条,更好的补充了Koa不是更好吗?第5条,难道别的框架就不稳定了?第6条,前端鼓吹渐进式、后端也鼓吹,那究竟什么是渐进式呢?

在我看来最吸引我的是第3条,内置多进程管理,这个在其它主流nodejs框架中是稀缺的特性,此文就简单聊聊它。

Read More

在做Web前端开发的时候会有大量的页面复用的地方,从UI布局到JS的逻辑。早年做后端开发的时候,我们通常可以通过面向对象的编程法式,使用抽象类、接口等等,那么现在前端是否也可以如此呢?

答案自然是肯定的,所以我们找工作面试的时候常被问及关于JS继承的问题,随之ES6出现了期盼已久的Class,一切都在往更为成熟的方向发展。接下我们以Vue为例,看看怎么去做继承这件事情。

Read More

为什么需要捕获?

前端代码运行在客户端的浏览器里,当客户端(浏览器)出现任何问题,在没有错误日志的情况下,我们都是不知道问题发生在哪,我们只能依靠猜测或者自己不断尝试才知道,或者永远不知道问题。

客户端怎么捕获?

1.通过 window.onerror,可惜只能获得基础的 js 错误,Promise、async/await 里的错误无法捕获,它收到同源决策的影响

2.Promise 通过catch方法

3.async/await 通过 try - catch

4.Vue 可以通过全局 Vue.config.errorHandler 去获得非 Promise、async/await 里的错误,可以理解为 Vue 里的 window.onerror

Read More

我们常说浏览器是单线程的,那么我们在加载资源的时候页面是在等待加载完成呢?还是继续执行后续的操作?加载不同资源对浏览器的操作会有相同响应吗?我们可以通过一个一个简单的实验测试来了解。

Read More

Your browser is out-of-date!

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

×