前端公共资源完全共享的畅想

在每个前端项目中,多多少少都会依赖一些第三方资源,比如QueryReactAngularcore-jsbabel-runtime;如果我们能够尽最大程度的复用这些资源,那么我们就能够节约很大的首次请求成本,无需绞尽脑汁即可显著提升首屏首次加载速度。另外提升 webpack 构建速度,扯这么多构建优化方案,就设置 externals 效果最显著;

阅读更多

移动端视频播放的另一种方式

前几天做的一个移动端页面需要播放一段视频。嵌入页面video标签的方式肯定是不合适的。

因为页面需要的其实只是一个动画效果,对音频没有要求,所以就有机会选择其它的方式解决。最先想到的方案是 canvas-video,前不久 BM2 炫酷的微信广告就是用它实现的。原理很简单:

阅读更多

谈谈组件封装

在前端开发中,我们往往会定义自己的组件,比如常见的日期选择器 datepicker,在其它页面上需要使用时再实例化一个组件。本文简单地聊下组件封装。首先会说下基于 jquery 的封装,之后会以 angular 为例,简单说下框架与组件的适配。最后说说 web components 标准。

阅读更多

初看 avalon

因为需要考虑兼容低版本浏览器,想选择一个更为合适的MVVM框架,需要调研下 avalon,从一个 angular 使用者角度看 avalon(有排斥心理)。

阅读更多

工作中的前端工程化问题

看过张云龙在git上关于前端集成的讨论,总结下工作中的问题。去年初的时候读过,之后也思考总结过我们平时开发项目中遇到的问题。现在再重新梳理一遍,主要是组件化。InfoQ 上的文章 && github 上文章

先谈谈在工作中遇到的问题。平时工作中负责的管理系统较早的开始在两三年之前,采用了某个 SPA 框架,以及搭配的 UI。有几个现基于此技术系统需要不时升级维护。在开发过程中,经常遇到该 UI 引起的很诡异的 bug,并且该 UI 源码较难读懂维护。于是在新的系统中使用了另一套 UI,新的 UI 代码容易理解,也容易在此之上扩展。

阅读更多

Angular启动

本来有一篇很好的文章讲解启动流程,后来设为秘密的了,虽然有复制,但也不太好拿人家不愿共享的东西出来。在这就贴一下我的总结啦。

阅读更多

也谈 JS 模块

跟大多数人一样,在最初接触JS时,没有考虑过模块的概念。当工作中前端做的事情越来越复杂,JS 越来越庞大,就必须好好考虑组织 JS 代码了。了解其它语言的人,可能会惊讶 JS 没有模块。当每个人都在做这件事情的时候,就不得不归咎到语言问题上了,或许在以后的规范中将加入对模块的支持。不过现在的我们还是有必要了解下怎么组织模块和懒加载的思想。

阅读更多

前端模板

原始的不足

在最开始接触前端的时候,经常写这样的代码,当然不止做前端的时候都写过这样的代码。

阅读更多