JavaScript模块化与esl.js
2016-2-2 晚上 松合时代公寓中
1、
前端为什么需要模块化? http://requirejs.org/docs/why.html
2、
https://github.com/ecomfe/esl
百度自己开发的AMD标准的javascript模块加载器,性能优于requireJS。
echarts-2内置的加载器就是esl,esl与echarts一样,都属于百度efe(http://efe.baidu.com/)前端技术体系的一部分。
2016-2-3 晚上 松合时代公寓
对于压缩版的echarts2.2.7来说,是包含了esl的,所以只需要像这样在页面中引入<script src="./js/echarts.js"></script>就可以使用esl了,但如果引入的是未经过压缩的source版的echarts.js,那么还需要另外引入esl.js才可以使用esl。 另外echarts2.2.7是依赖zrender的,使用source版echarts也要在页面另外的引入zrender.js才行,而压缩版就不用,因为已经包含在同一个js文件里了。
今天把基于echarts2.2.7的BMapExtension那个例子的程序的目录和文件简化了一下,原先基本对整个项目的文件和目录结构没敢动,因为对它的依赖引入方法不熟悉。今天最大的进展其实就是初步搞清楚了echarts它的esl模块化引入方法。符合AMD规范的一种模块化实现。但是一些个细节原理还不是很清楚,文档不想看了,明天开始看esl源代码!(算上注释大约1600行)