echarts2.0图表切换需要引入哪些js

JavaScript029

echarts2.0图表切换需要引入哪些js,第1张

 1、AMD规范的加载器——esl.js,这是什么?

答:关于AMD规范可以参考阮一峰的这篇文章Javascript模块化编程(二):AMD规范 简单来说,AMD规范就是异步方式加载模块的一种方式,避免因为模块加载过慢而导致浏览器“假死”。

2、我们先来看一下echart的大概的包: 

echarts.js : 经过压缩,包含除地图外的全部图表

echarts-original.js : 未压缩,可用于调试,包含除地图外的全部图表

echarts-map.js : 经过压缩,全图表,包含world,china以及34个省市级地图数据

echarts-original-map.js : 未压缩,可用于调试,全图表,包含world,china以及34个省市级地图数据

看得出,这种分类非常有意义。

3、echarts更规范的一点,那就是模块化加载,需要哪个部分就是用哪个部分。

关于Echarts的那个入门图表,我想很多新手跟我一样的迷惑,require和require.config这个两个公共方法到底什么来的?

答:AMD规范的加载器——esl.js的公共方法。(如有错误,请指正。)

4、require.config的作用是什么?

答:为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需的图表路径。一切尽在echarts-2.0.4文件夹下的src文件夹中。

5、解释一下require方法?

答:require方法有2个参数。

第一个参数为一个数组,数组元素是需要加载的echarts模块,需要哪个就加载哪个。(经本人测试,这个数组传入一个空数组都是可以的 !- -)莫非,传入不正确,会加载全部文件到内存,传入正确就加载部分模块到内存?求大神解答!

第二个参数为一个带一个参数的方法:function (ec){}, 这个ec对象就是echarts对象了。

OK,基本解释完了。可能初学者看了Eharts入门实例还是不太理解那Echarts3种导入方式的用法。(入门示例只有2种——标签式单文件引入和模块化单文件引入)

因为入门实例里,js文件指向的是百度服务器上的资源,而我们一般开发,js资源都是放在本地的。

6、来看一下,本地创建3种Echarts导入的例子,下面是那3个示例文件的源码(官网Demo粗略修改而成):

(1)、标签式单文件引入.html:

View Code

需要注意的是,可以直接引入的单文件只有:

echarts-plain.js : 经过压缩,包含除地图外的全部图表

echarts-plain-original.js : 未压缩,可用于调试,包含除地图外的全部图表

echarts-plain-map.js : 经过压缩,全图表,包含world,china以及34个省市级地图数据

echarts-plain-original-map.js : 未压缩,可用于调试,全图表,包含world,china以及34个省市级地图数据

而除了这些带“plain”字眼的库,其他库都是含echarts这个变量的。导入其他库,会出现问题:echarts未定义。

最近被这个echart引入的问题折磨得头大,况且自己也没什么模块化经验,所以想请教一下各位高手,为什么下面第一种方式就可以成功展现echart饼状图,而第二种方式就不行呢?代码片段如下:

<script src="js/esl.js"></script> //类似于require.js的东东吧,不加上图表出不来

<div id="main" class="Cshenzi" style="width:500pxheight:508pxopacity:0.85">

</div> //echart图表容器

<script type="text/javascript">

(第一种方式)

require.config({

paths:{

'echarts' : 'js/echarts'

}

})

require(

[

'echarts',

'echarts/chart/pie' // 使用柱状图就加载pie模块,即使没有这个路径

],

function(ec) {

//主函数,生成echart实例,绘制图表

}

(第二种方式,与第一种方式的唯一区别就是require(['echarts'],...)这里少加载了'echarts/chart/pie',可是我天真的觉得这个pie没必要加载啊,况且我的js目录里面也没有/chart/pie这个子文件夹,那为什么加了这个就能展现,而不加这个又不能展现呢?)

<script src="js/esl.js"></script>

<div id="main" class="Cshenzi" style="width:500pxheight:508pxopacity:0.85">

</div>

<script type="text/javascript">

// 路径配置

require.config({

paths:{

'echarts' : 'js/echarts'

}

})

// 使用

require(

[

'echarts'

],

function(ec) {

//主函数,生成echart实例,绘制图表

//另外项目的js文件夹结构是单根的,所以压根没有那个echarts/chart/pie。

全选复制放进笔记--js

|echarts.js

|esl.js

1、拷贝出两个js文件:esl.js 和echarts.js ;

2、准备一个html页面进行图表容器配备和模块化加载js和创建图表

1)、引入esl.js文件

1

<script src="../js/echarts/esl.js" type="text/javascript"></script>

之所以要引入esl.js 文件,因为它内部封装了很多模块化加载js文件和创建图表的回调函数方法。

2)、准备图表的装载容器

<div id="funnel_a" style="height: 400pxwidth: 800pxborder: 1px solid #cccpadding: 10px"></div>

3)、采用esl.js文件内的方法模块化加载漏斗图所需的库且在回调函数内创建漏斗图。

// Step:3 conifg ECharts's path, link to echarts.js from current page.

// Step:3 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需图表路径

require.config({

/* paths: {

echarts: '../js/echarts',//echarts.js所在的路径

'echarts/chart/funnel': '../js/echarts'

} */

packages:[{

name:'echarts',