在 webpack 中使用 ECharts

Webpack 是目前比较流行的模块打包工具,你可以在使用 webpack 的项目中轻松的引入和打包 ECharts,这里假设你已经对 webpack 具有一定的了解并且在自己的项目中使用。

npm 安装 ECharts

3.1.1 版本之前 ECharts 在 npm 上的 package 是非官方维护的,从 3.1.1 开始由官方 EFE 维护 npm 上 ECharts 和 zrender 的 package。

你可以使用如下命令通过 npm 安装 ECharts

  1. npm install echarts --save

引入 ECharts

通过 npm 上安装的 ECharts 和 zrender 会放在node_modules目录下。可以直接在项目代码中 require('echarts') 得到 ECharts。

  1. var echarts = require('echarts');
  2. // 基于准备好的dom,初始化echarts实例
  3. var myChart = echarts.init(document.getElementById('main'));
  4. // 绘制图表
  5. myChart.setOption({
  6. title: {
  7. text: 'ECharts 入门示例'
  8. },
  9. tooltip: {},
  10. xAxis: {
  11. data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
  12. },
  13. yAxis: {},
  14. series: [{
  15. name: '销量',
  16. type: 'bar',
  17. data: [5, 20, 36, 10, 10, 20]
  18. }]
  19. });

按需引入 ECharts 图表和组件

默认使用 require('echarts') 得到的是已经加载了所有图表和组件的 ECharts 包,因此体积会比较大,如果在项目中对体积要求比较苛刻,也可以只按需引入需要的模块。

例如上面示例代码中只用到了柱状图,提示框和标题组件,因此在引入的时候也只需要引入这些模块,可以有效的将打包后的体积从 400 多 KB 减小到 170 多 KB。

  1. // 引入 ECharts 主模块
  2. var echarts = require('echarts/lib/echarts');
  3. // 引入柱状图
  4. require('echarts/lib/chart/bar');
  5. // 引入提示框和标题组件
  6. require('echarts/lib/component/tooltip');
  7. require('echarts/lib/component/title');
  8. // 基于准备好的dom,初始化echarts实例
  9. var myChart = echarts.init(document.getElementById('main'));
  10. // 绘制图表
  11. myChart.setOption({
  12. title: {
  13. text: 'ECharts 入门示例'
  14. },
  15. tooltip: {},
  16. xAxis: {
  17. data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
  18. },
  19. yAxis: {},
  20. series: [{
  21. name: '销量',
  22. type: 'bar',
  23. data: [5, 20, 36, 10, 10, 20]
  24. }]
  25. });

可以按需引入的模块列表见 https://github.com/ecomfe/echarts/blob/master/index.js

对于流行的模块打包工具 browserify 也是同样的用法,这里就不赘述了。而对于使用 rollup 的自定义构建,参见 自定义构建 ECharts