Как правильно импортировать HighCharts с базовой цепью в ECMAScript 2015?

Я использую последний шаблон Backbone-шаблон, который принимает ECMAScript 2015 в качестве грамматики по умолчанию. Я планирую использовать HighCharts в этом проекте, но застрял с import выпуск Highcharts.

Моя реализация заключается в следующем.

home.js (который является индексом по умолчанию Backbone.View Магистральная система)

import Component from '../../component';
import template from './home.html';
import Pitch from '../../modules/pitches/index';
import $ from 'jquery';
import highcharts from 'highcharts-release/highcharts';

// Import components.
import '../components/sample-component';

export default Component.extend({
    template,

    initialize: function () {
        this.template.registerPartial('nav', require('../partials/nav.html'));
        this.collection = new Pitch.Collection();
        this.collection.fetch({});
        this.listenTo(this.collection, 'reset sync', this.render);
    },

    afterRender: function () {
        $('#container').highcharts({
            chart: {
                type: 'scatter',
                zoomType: 'xy'
            },
            title: {
                text: 'Title'
            },
            subtitle: {
                text: 'Subtitle'
            }
        });
    }
});

Я пробовал разные комбинации, чтобы все заработало, но ни одна из них не удалась.

  • import highcharts from 'highcharts-release/highcharts'
  • import highcharts from 'highcharts'
  • import 'highcharts-release/highcharts'
  • import 'highcharts'

Я получаю эту ошибку, которая кажется, что Highcharts не импортируется вообще.

Uncaught TypeError: (0, _jquery2.default) (...). Highcharts не является функцией

Как правильно импортировать HighCharts в ECMAScript 2015?

1 ответ

Решение

Я думаю, что проблема произошла с JQuery. Следуя инструкции по использованию Highcharts с jQuery, "своего рода" решил начальную проблему.

import $ from 'jquery';
require('highcharts')($);

Графики отображаются хорошо, за исключением того, что есть highcharts.js:315 Uncaught TypeError: c is not a function | highcharts.js:315 ошибка на консоли. Для получения дополнительной информации я в настоящее время использую Highcharts 4.1.10.

ОБНОВЛЕНИЕ: После Highcharts 4.2.0, действует следующее.

import $ from 'jquery';
import Highcharts from 'highcharts';

...

let chart = new Highcharts.Chart();
Другие вопросы по тегам