# 引入外部模块

除了 San Admin 内置的业务组件,有时我们还需要引入其他外部模块,这里以引入echarts (opens new window)图表库为例进行介绍,如果该组件已更新引入方式,可直接自行前往组件首页查看如何引入,并以官方为准。


# 引入依赖

在终端输入下面的命令完成安装:

$ yarn add echarts
or
$ npm install echarts --save

加上 --save 参数会自动添加依赖到 package.json 中去。

# 使用

# 全局引入

import * as echarts from 'echarts';

var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;

option = {
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'line',
        areaStyle: {}
    }]
};

option && myChart.setOption(option);

# 局部按需引入

import * as echarts from 'echarts/core';
import {
    GridComponent
} from 'echarts/components';
import {
    LineChart
} from 'echarts/charts';
import {
    CanvasRenderer
} from 'echarts/renderers';

echarts.use(
    [GridComponent, LineChart, CanvasRenderer]
);

var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;

option = {
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'line',
        areaStyle: {}
    }]
};

option && myChart.setOption(option);

这样就成功引入了一个折线图组件。有几点值得注意:

  • import 时需要注意组件暴露的数据结构;
  • 有一些组件需要额外引入样式。