模块懒加载(在使用时)

在看为什么vue文档能做到新内容可用更新(利用service worker)的时候,顺便看到了update-notifier(提示版本更新的库,实现方式:定时检查npm上的版本和本地package.json的版本对比,有差异就提示用户更新),看update-notifier源码的时候发现有很多lazyImport,觉得挺新奇,于是有了这篇文章

思想

为了提高应用的启动时间,在没有用到仓库的额外功能时不加载模块,所以将模块加载延迟到使用之前


跨平台的拖拽

crossvent:封装跨平台事件绑定的库

跨平台的触摸事件

利用crossvent封装绑定跨平台拖拽事件的方法touchy,以便支持移动端和pc端

根据环境获取的触摸事件名,用懒加载的方式替换掉touchy函数,之后绑定事件不需要再判断


Axios源码解析

工具类

bind

1
2
3
4
5
6
7
8
9
function bind(fn, thisArg) {
return function wrap() {
var args = new Array(arguments.length);
for (var i = 0; i < args.length; i++) {
args[i] = arguments[i];
}
return fn.apply(thisArg, args);
};
};

redux入门

Redux 官方文档对 Redux 的定义是:一个可预测的 JavaScript 应用状态管理容器

安装

1
npm install --save redux

React Router

  • react-router:路由核心库,包含诸多和路由功能相关的核心代码
  • react-router-dom:利用路由核心库,结合实际的页面,实现跟页面路由密切相关的功能

安装

1
2
3
# react-router-dom依赖react-router
# 安装的时候会把react-router一起安装了
npm install react-router-dom -S