webpack echarts配置实例
2015-07-10 09:32
603 查看
简介
本例介绍如何在webpack中构建依赖echats的项目,echarts有好几种方式引入项目:标签单文件引入:自1.3.5开始,ECharts提供标签式引入。如果项目本身并不是基于模块化开发,建议采用srcipt标签式引入,Srcipt标签引入echarts后将可以直接使用两个全局的命名空间:echarts,zrender。
模块化单文件引入:ECharts开发了专门的压缩合并工具echarts-optimizer,通过依赖关系分析同时去除与echarts.js的重复模块后为echarts的每一个图表类型单独打包生成一个独立文件,根据应用需求可实现图表类型按需加载。在build路径下包含了由echarts-optimizer生成的单文件:
build/dist/:经过合并、压缩的单文件
echarts.js : 这是包含AMD加载器的echarts主文件,需要通过script最先引入
chart/: echarts-optimizer通过依赖关系分析同时去除与echarts.js的重复模块后为echarts的每一个图表类型单独打包生成一个独立文件,根据应用需求可实现图表类型按需加载
echarts-line.js : 折线图(如需折柱动态类型切换,require时还需要echarts/chart/bar)
echarts-bar.js : 柱形图(如需折柱动态类型切换,require时还需要echarts/chart/line)
echarts-scatter.js : 散点图
echarts-k.js : K线图
echarts-pie.js : 饼图(如需饼漏斗图动态类型切换,require时还需要echarts/chart/funnel)
echarts-radar.js : 雷达图
echarts-map.js : 地图
echarts-force.js : 力导向布局图(如需力导和弦动态类型切换,require时还需要echarts/chart/chord)
echarts-chord.js : 和弦图(如需力导和弦动态类型切换,require时还需要echarts/chart/force)
echarts-funnel.js : 漏斗图(如需饼漏斗图动态类型切换,require时还需要echarts/chart/pie)
echarts-gauge.js : 仪表盘
echarts-eventRiver.js : 事件河流图
source/ : 经过合并,但并没有压缩的单文件,内容同dist,可用于调试
模块化包引入:如果项目本身是模块话的且遵循AMD规范,则只需要使用一个符合AMD规范的模块加载器,如RequireJS,配置好package路径指向src即可。由于echarts依赖底层zrendar,也需要配置好相应的package。
配置
echarts既然支持模块化包引入,符合AMD规范,那么我们稍加配置下webpack,便可以引入到webpack构建的项目中了webpack.config.js
module.exports = { entry: './entry.js', output: { filename: 'bundle.js' }, resolve: { alias: { echarts$: "echarts/src/echarts.js", echarts: "echarts/src", zrender$: "zrender/src/zrender.js", zrender: "zrender/src" } } }
entry.js
var echarts = require("echarts"); require('echarts/chart/line'); require('echarts/chart/bar'); var option = { tooltip: { trigger: 'axis' }, legend: { data: ['蒸发量', '降水量'] }, toolbox: { show: true, feature: { mark: { show: true }, dataView: { show: true, readOnly: false }, magicType: { show: true, type: ['line', 'bar'] }, restore: { show: true }, saveAsImage: { show: true } } }, calculable: true, xAxis: [{ type: 'category', data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] }], yAxis: [{ type: 'value', splitArea: { show: true } }], series: [{ name: '蒸发量', type: 'bar', data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3] }, { name: '降水量', type: 'bar', data: [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3] }] }; var myChart = echarts.init(document.getElementById('main')); myChart.setOption(option);
相关链接
webpack-echartsWebpack #1407
webpack能加载echarts吗?
请原生支持webpack #1632
webpack集成echarts #1625
hushicai/echarts-develop
相关文章推荐
- webpack模块依赖管理介绍
- Webpack 入门指迷--转载(题叶)
- 用webpack来取代browserify
- 一小时包教会 —— webpack 入门指南
- 关于将Webpack,编译文件输出到不同的目录下
- webpack学习笔记
- webpack 学习笔记 01 使用webpack的原因
- webpack 学习笔记 02 快速入门
- webpack 学习笔记 03 Code Splitting
- Grunt、webpack个人笔记
- webpack配置
- webpack速查
- Webpack初试
- webpack 使用加载器
- webpack 使用插件
- webpack 安装
- 一小时包教会 —— webpack 入门指南
- webpack学习 教程地址
- webpack 用法
- 学习笔记 一步步了解webpack