Rainbow Web SDK的首页加载了如下js:
<script src="//cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.9/es5-shim.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/es6-promise/4.0.5/es6-promise.min.js"></script>
<script src="//code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="//cdn.jsdelivr.net/momentjs/2.15.1/moment-with-locales.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script>
<script src="./vendors-sdk.min.js"></script>
<script src="./rainbow-sdk.min.js"></script>
这些js都是什么含义呢?下边依次分析和探讨
- es5-shim这个script是让一些版本较低的浏览器兼容ECMAScript5的一些特性
- es6-promise promise是异步编程的一种解决方案,比传统的解决方案一一回调函数和事件更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了promise对象。所谓promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,promise是一个对象,从它可以获取异步操作的消息。promise提供统一的API,各种异步操作都可以用同样的方法进行处理。
- jquery,不用说是一个JavaScript框架,网上有的说法是jquery与angularJS会冲突,其实只是加载时序的问题,用angularJS的directive可以解决该问题
- moment-with-locales是一个日期处理的类库
- angular就不用说了,是一套JavaScript的框架
- verdors和rainbow是rainbow提供的sdk js