Highcharts: ES6 ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ "ํ•˜์ด์ฐจํŠธ๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์Œ"(browserify, babel)

์— ๋งŒ๋“  2016๋…„ 02์›” 03์ผ  ยท  36์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: highcharts/highcharts

๋‚˜๋Š” Highcharts๊ฐ€ Babel/Browserify/ES6 ๊ฐ€์ ธ์˜ค๊ธฐ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ReferenceError: Highcharts is not defined ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— highstock-browserify๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ ์–ด๋Œ‘ํ„ฐ๋ฅผ ์ œ๊ฑฐํ•œ ํ›„ ๊ณ ์žฅ๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ํ–ˆ๋‹ค

npm install highcharts --save-dev

๋‚ด๊ฐ€ ํ–ˆ์–ด

//highcharts libraries
import Highcharts from 'highcharts/highstock';
import 'highcharts-ng'; //angular highcharts bindings

dev ๋„๊ตฌ๋ฅผ ๋ณด๋ฉด ํŒŒ์ผ์„ ์ž˜ ๊ฐ€์ ธ์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

image

๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. stackoverflow ์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ํ•˜๋‹ค:

๋˜ํ•œ highcharts-release ํŒจํ‚ค์ง€๋กœ ํ•„์‚ฌ์ ์œผ๋กœ( :P ) ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋”. ์ €๋„ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‹œ๋„ํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์ด ์†Œ์Šค์— ํฌํ•จ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ด์ง€๋งŒ Highcharts๋Š” ์•„์ง ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

//highcharts libraries
let Highcharts = require('highcharts/highstock');
import 'highcharts-ng';

CC- @laytzehwu

Docs Enhancement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚˜๋Š” webpack ng es6์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ž‘๋™์‹œํ‚ค๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€

var Highcharts = require('highcharts/highstock');
window.Highcharts = Highcharts;
require('highcharts/modules/exporting')(Highcharts);

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ฐ€์ ธ์˜ค๊ธฐ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ํšŒ์‹ ํ•ด ์ฃผ์‹ญ์‹œ์˜ค.

๋ชจ๋“  36 ๋Œ“๊ธ€

๋‚˜๋Š” webpack ng es6์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ž‘๋™์‹œํ‚ค๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€

var Highcharts = require('highcharts/highstock');
window.Highcharts = Highcharts;
require('highcharts/modules/exporting')(Highcharts);

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ฐ€์ ธ์˜ค๊ธฐ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ํšŒ์‹ ํ•ด ์ฃผ์‹ญ์‹œ์˜ค.

@ ์กด ์–ด ๋‹ˆ๊ณ ๋ฅด

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ์ด์— ๋Œ€ํ•ด ์กฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋™์•ˆ ๋Œ€์•ˆ์œผ๋กœ babel-loader ๊ฐ€ ์žˆ๋Š” webpack ์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, @jon-a-nygaard์ž…๋‹ˆ๋‹ค. Webpack์€ ํ™•์‹คํžˆ ์•ž์œผ๋กœ ๋‚˜์•„๊ฐˆ ๋ฐฉํ–ฅ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋งŽ์€ ๋ธŒ๋ผ์šฐ์ €ํ™” ์‚ฌ์šฉ์ž ์ง€์ • ๋ฒˆ๋“ค๋กœ ์ธํ•ด ๋„ˆ๋ฌด ์„ฑ์ˆ™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์ด๊ฒƒ์„ ์•Œ์•„๋‚ด๋ฉด ์ €์—๊ฒŒ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

๊ดœ์ฐฎ์•„. @ragefuljoe - window.Highcharts = Highcharts ๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ€์ ธ์˜ค๊ธฐ ๊ตฌ๋ฌธ๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

import Highcharts from 'highcharts/highstock';
window.Highcharts = Highcharts; //this line did the magic
import 'highcharts-ng';

์ด๊ฒƒ์„ ๋‹ซ์•„์•ผ ํ•ฉ๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ์ฝ”๋“œ ๋‚ด๋ถ€์— window.Highcharts๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ์ด๊ฒƒ์ด ์ฃผ์š” ๋ฌธ์„œ๋‚˜ ์–ด๋”˜๊ฐ€์— ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@piggyslasher ๋‹คํ–‰ @ragefuljoe์—์„œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ๋„์™”๋‹ค. ES6 ๊ฐ€์ ธ์˜ค๊ธฐ๋กœ Highchart ๋กœ๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด ๋ฌธ์ œ๋ฅผ ์—ด์–ด ๋‘ก๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด ์ฃผ์š” ๋ฌธ์„œ๋‚˜ ์–ด๋”˜๊ฐ€์— ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ npm ์—์„œ

๋ฉ‹์ง€๋„ค์š” @piggyslasher. ๊ฐ€์ ธ์˜ค๊ธฐ ๊ตฌ๋ฌธ์œผ๋กœ exporting.js ๊ฐ€์ ธ์˜ค๊ธฐ์— ํ–‰์šด์ด ์žˆ์Šต๋‹ˆ๊นŒ?

_์—…๋ฐ์ดํŠธ_
์—ฌ๊ธฐ์— ์ง€๋„๊ฐ€ ํ•„์š”ํ•œ ๋ชจ๋“  ํ•˜์ด์ฐจํŠธ ๊ด€๋ จ ๋ผ์ธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

import Highcharts from 'highcharts/highstock';
window.Highcharts = Highcharts;
require('highcharts/modules/map')(Highcharts);
require('highcharts/modules/exporting')(Highcharts);
require('./pages/home-page/world'); //I'm downloading this from example links. any better way?
import 'highcharts-ng';

ํŠน์ • ์ง€๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์˜ˆ, ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์—ฌ๊ธฐ์— world.js๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค(๋‹ค๋ฅธ ์˜ต์…˜์€ ๋ฐฑ์—”๋“œ์—์„œ json์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ)

์ •ํ™•ํžˆ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ํ”„๋กœ์ ํŠธ์—์„œ ํ•˜๊ณ  ์‹ถ์€ ์ผ์€ 'Highcharts'๋ฅผ ๊ฐ€์ ธ์™€์„œ ๋๋‚ด๋Š” ๊ฒƒ๋ฟ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ์ฃผ์š” JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ "์ž‘๋™"ํ•˜๋ฉฐ Highcharts๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@jon-a-nygaard @TorsteinHonsi - Angular, lodash, ๋ฐ‘์ค„, ui-router ๋ฐ ๊ธฐํƒ€ ์ˆ˜๋งŽ์€ JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €ํ™”/์›นํŒฉ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ๋…ธ์ถœํ•˜๊ณ  ํ•˜์ด์ฐจํŠธ์—์„œ ๋ณต์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@romiem ํŒ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—… ์ค‘์ด๋ฉฐ ๋‹ค์Œ ์œ ์ง€ ๊ด€๋ฆฌ ๋ฆด๋ฆฌ์Šค์— ์ ์šฉํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”,
highcharts 4.2.5์™€ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” Use Highcharts to create chart in React ๊ธฐ์‚ฌ๋ฅผ
๊ฐ€์ ธ์˜ค๊ธฐ ๊ตฌ๋ฌธ, ์ฆ‰ import Highcharts from 'highcharts' ํ•˜๋ฉด Uncaught TypeError: _highcharts2.default[(this.props.type || "Chart")] is not a constructor ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@ragefuljoe ์—์„œ ์ œ์•ˆํ•œ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋Ÿฌ๋‚˜,์ด ๋ฐฉ๋ฒ• ์‚ฌ์šฉ์— ๋Œ€ํ•œ, ๋‚˜๋ฅผ ์ƒ๊ฐํ•˜๊ฒŒ 'highcharts/highstock ๋Œ€์‹  'highcharts' ? ๊ธ€์Ž„, ๊ทธ๊ฒƒ์€ ๊ฐ€์ ธ์˜ค๊ธฐ ๊ตฌ๋ฌธ๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ๊ทธ๋Ÿฐ ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐ๋˜๊ณ  ๊ฐ€์ ธ ์˜ค๊ธฐ๋ฅผ ์ž˜๋ชป ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ์€ ์™„์ „ํ•œ (์ž‘๋™ํ•˜๋Š”) ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค:

import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import Highcharts from 'highcharts/highstock';
class Chart extends Component {
    constructor(props) {
        super(props);
    }
    // When the DOM is ready, create the chart.
    componentDidMount() {
        // Extend Highcharts with modules
        if (this.props.modules) {
            this.props.modules.forEach(function (module) {
                module(Highcharts);
            });
        }
        this.chart = new Highcharts[this.props.type || "Chart"](
            this.props.container, 
            this.props.options
        );
    }
    //Destroy chart before unmount.
    componentWillUnmount() {
        this.chart.destroy();
    }
    //Create the div which the chart will be rendered to.
    render() {
        return React.createElement('div', { id: this.props.container });
    }
}
export default Chart;

์ด ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ์‹  @jon-a-nygaard์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๐Ÿ‘ ํ–ฅ์ƒ๋œ Webpack ์ง€์›. ๋‚˜๋Š” CodePen์—์„œ ๋ชจ๋“  React/Highsoft ์‹คํ—˜์„ ํ•ด์™”์ง€๋งŒ ๊ณง ์ ์ ˆํ•œ ๋…ธ๋“œ ํ™˜๊ฒฝ์œผ๋กœ ์ด๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Webpack/Import/ES6์€ ์ข‹์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ˜์‘ w/MDL ๋ฐ Highstock(ํ…Œ์ŠคํŠธ)

highcharts 5๊ฐ€ ์žˆ๋Š” typescript/angular 2 ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ "highcharts" ๋ชจ๋“ˆ์—์„œ "๋‹จ์ˆœ" ๊ฐ€์ ธ์˜ค๊ธฐ { Highcharts}์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ? ํ•ญ์ƒ ์•ฝ๊ฐ„ ํ•ดํ‚ค ์ธ "Highcharts ํ•„์š”"์— ๋Œ€ํ•œ ๋ฌธ์„œ ๋งŒ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค ...

@ ์กด ์–ด ๋‹ˆ๊ณ ๋ฅด

@Skuriles ์–ด๋–ค ์œ ํ˜•์˜ ์€ ES6 ๋ฐ Babelify์—์„œ Highcharts๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.

@jon-a-nygaard ์ €๋Š” SystemJs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

๊ฐ€๋Šฅํ•œ ๋นจ๋ฆฌ ์‹œ๋„ํ•˜๊ณ  ์—ฌ๊ธฐ์— ์†”๋ฃจ์…˜์„ ๊ฒŒ์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!
๋‹น์‹ ์˜ ์˜ˆ๋ฅผ ๋“ค์–ด ์ฃผ์…”์„œ ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!!

๊ท€ํ•˜์˜ ์ œ์•ˆ์œผ๋กœ ์ธํ•ด ๋‚ด ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ intellisens์—์„œ typescript ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  gulp-typescript ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋œ ์•ฑ์—์„œ ์ž‘๋™ํ•˜์ง€๋งŒ ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

import Highcharts from 'highcharts/highstock.js'๋Š” ์—ฌ์ „ํžˆ ์•Œ ์ˆ˜ ์—†๋Š” ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ typescript-babel ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๊ฒƒ๋“ค์„ ์œ„ํ•ด ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋˜์กŒ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋งˆ์ง€๋ง‰์œผ๋กœ systemjs ์—†์ด highstock.js ํŒŒ์ผ์„ ์ง์ ‘ ๋กœ๋“œํ•˜๊ณ  ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด TS ํŒŒ์ผ์—์„œ Highcharts๋ฅผ ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ๋Œ์•„๊ฐ”์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์‹ค์ œ ES6 ๋ชจ๋“ˆ์„ ๊ธฐ๋‹ค๋ฆฌ์ง€๋งŒ ์ง€๊ธˆ์€ ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•ด systemjs๊ฐ€ ์—†๋Š” ์‚ฌ์ „ ์ปดํŒŒ์ผ๋œ ๋ฒˆ๋“ค ๋ฒ„์ „์œผ๋กœ ์ „ํ™˜ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ์€ ๊ทธ๋Œ€๋กœ ์‚ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

@jon-a-nygaard ๋‚ด recat ์•ฑ์—์„œ ํ•˜์ด์ฐจํŠธ๋ฅผ ๋ Œ๋”๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์–ป๋Š” ๋ชจ๋“  ๊ฒƒ์€ ๋นˆ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋‚ด๊ฐ€ ํ•˜์ด ์ฐจํŠธ์— ๋Œ€ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

import React, {Component, PropTypes} from 'react';
import Highcharts from 'highcharts/highcharts';
import styles from './styles/linechart.css';
import cssModules from 'react-css-modules';
import request from 'axios';
import moment from 'moment';

@cssModules(styles)
class LineChart extends Component {
    constructor(props) {
        super(props);
    }

    static propTypes = {
        modules: PropTypes.oneOfType([
            PropTypes.string,
            PropTypes.object,
            PropTypes.array
        ]),
        container: PropTypes.oneOfType([
            PropTypes.string,
            PropTypes.object,
            PropTypes.array,
        ]),
        options: PropTypes.oneOfType([
            PropTypes.object,
            PropTypes.array
        ]),
    };

    highchartsModules() {
        if (this.props.modules) {
            this.props.modules.forEach(function(module) {
                module(Highcharts);
            });
        }
    }

    componentDidMount() {

        const inComing = [];
        const outGoing = [];
        const xAxisData = [];

        request.get('/dashboard/hourly', {
            params: {
                timezone: moment().utcOffset(),
                date:     '2016-07-06'
                // date:     moment(new Date()).format('YYYY-DD-MM')
            }
        }).then(response => {
                response.data.forEach(item => {
                    const flattened = {};
                    const out = {};
                    flattened.name = item.date;
                    flattened.y = item.inCount;
                    out.name = item.date;
                    out.y = item.outCount;
                    xAxisData.push(item.hour);
                    inComing.push(flattened);
                    outGoing.push(flattened);
                });
            });

            console.log('InComing data: ', inComing);
            console.log('OutGoing data: ', outGoing);
            console.log('X Axis data: ', xAxisData);

            const chartOptions = {
                tooltip: {
                    borderRadius:    20,
                    backgroundColor: 'rgba(18, 21, 23, 0.9)',
                    style:           {
                        color: 'white',
                    },
                    shadow: false,
                },
                title: {
                    text: ''
                },
                subTitle: {
                    text: ''
                },
                xAxis: {
                    categories: xAxisData,
                    labels:     {
                        enabled: false
                    },
                    crosshair: {
                        width:     1,
                        dashStyle: 'Dash',
                        color:     'black',
                        snap:      false,
                    },
                    tickInterval: 2
                },
                legend: {
                    enabled: false,
                },
                series: [{
                    name: 'Incoming Calls',
                    data: inComing
                }, {
                    name: 'Outgoing Calls',
                    data: outGoing
                }
            ]
        };

        this.highchartsModules();
        console.log('CHART OPTIONS: ', chartOptions);
        if (typeof window !== 'undefined') {
            this.chart = new Highcharts['Chart'](
                this.props.container,
                chartOptions
            );
        }
    }

    render() {
        const { container } = this.props;
        return (
            // <div styleName="chart">
                <div class="chart" id={container} />
            // </div>
        );
    }
}

export default LineChart;

๋‚ด ์•ฑ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ด ํ•˜์ด ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

<LineChart container="chart" type="chart" />

๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์ž‘๋™์‹œ์ผฐ๋‹ค.

import Highcharts from "highcharts";

์‹œ์Šคํ…œ
์ง€๋„:
'highcharts': "npm:highcharts"
ํŒจํ‚ค์ง€:
'highcharts': { main: "highstock", defaultExtension: "js"}

์œ ์ผํ•œ ๋ฌธ์ œ:
@types/highharts์— ๋‹ค์Œ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
Property 'StockChart' does not exist on type 'Static'.

ํ•˜์ง€๋งŒ ์•ฑ์€ ์ ์–ด๋„

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ Rollup๊ณผ ํ•จ๊ป˜ ๊ทธ๊ฒƒ์„ ํ•„์š”๋กœ ํ•  ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ

์ž‘๋™ํ•˜๋Š” ๋‹ค์Œ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” vendor.ts ํŒŒ์ผ์—์„œ

import * as _highcharts from 'highcharts/highcharts';
...
export default {
   ...
   _highcharts
};

๊ณต๊ธ‰์—…์ฒด ๋ฒˆ๋“ค์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‚ด app.rollup.js(๋‚ด ์•ฑ ๋ฒˆ๋“ค์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๊ตฌ์„ฑ ํŒŒ์ผ)์—์„œ.

export default {
    entry: 'src/main.ts',
    dest: 'bundles/app.js',
    format: 'iife',
    sourceMap: true,
    moduleName: 'app',
    plugins: [
        ...
    ],
    external: [
        'highcharts/highcharts'
    ],
    globals: {
        ...
        'highcharts/highcharts': 'vendor._highcharts'
    }
};

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‚ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import Highcharts from 'highcharts/highcharts';

@jon-a-nygaard ๋ถˆํ–‰ํžˆ๋„ ๊ท€ํ•˜์˜ ์˜ˆ์ œ๋Š” typescript ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 'highchart' has no default export ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@Skuriles ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์ด ํšจ๊ณผ๊ฐ€

'ํ•˜์ด์ฐจํŠธ' ๊ฐ€์ ธ์˜ค๊ธฐ;

(๊ท€ํ•˜์˜ ๋‹ค๋ฅธ ์ œ์•ˆ ์™ธ์—๋„)

๊ฐ์‚ฌ ํ•ด์š”

์œ„์˜ ์†”๋ฃจ์…˜ ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ๋‚˜๋ฅผ ์œ„ํ•ด ์ตœ์‹  typescript ๋ฒ„์ „์—์„œ ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

import Highcharts from 'highcharts/highcharts.src.js';
import {default as HighchartsMore} from 'highcharts/highcharts-more.src.js';
HighchartsMore(Highcharts);

TypeScript์—์„œ Highcharts๋กœ ์ž‘์—…ํ•˜๋Š” ๋ถ„๋“ค ์„ ์œ„ํ•ด ์ž‘์—… ์„ค์ • ์˜

import * as Highcharts from 'highcharts'
import * as HighchartsMore from 'highcharts/highcharts-more.src.js'
HighchartsMore(Highcharts)

import Highcharts from 'highcharts' ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๊ทธ๋Ÿฌํ•œ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ชจ๋“ˆ์ด ๊ธฐ๋ณธ๊ฐ’์„ ๋‚ด๋ณด๋‚ด์•ผ ํ•˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ด€์‹ฌ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด Typescript์—๋Š” ๋‹ค์–‘ํ•œ ํ˜•์‹์˜ ๊ฐ€์ ธ์˜ค๊ธฐ์— ๋Œ€ํ•œ ์ข‹์€

์•ˆ๋…•ํ•˜์„ธ์š” Jon, ์ œ ๊ฒฝ์šฐ์—๋Š” Google ํฌ๋กฌ์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ณ  ์ฐจํŠธ๋„ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์ฐจํŠธ๋Š” mozilla์˜ ๊ฒฝ์šฐ์— ๋‚˜์˜ค์ง€ ์•Š์œผ๋ฉฐ ์ฝ˜์†”์—์„œ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ข€ ์•Œ๋ ค์ฃผ์„ธ์š”.

์ด๊ฑฐ ํ•ด๊ฒฐํ•˜์‹ ๋ถ„ ๋„์™€์ฃผ์„ธ์š”

์•ˆ๋…•ํ•˜์„ธ์š” @Sandipj38 ,

ES6 ๊ฐ€์ ธ์˜ค๊ธฐ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํฌ๋Ÿผ์—์„œ ์ฃผ์ œ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์ด๋ฉ”์ผ( ์„ธ๋ถ€์ •๋ณด )์„ ๋ณด๋‚ด์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”!

์•ˆ๋…•ํ•˜์‹ญ๋‹ˆ๊นŒ,
๋‚˜๋Š” ๋ฐ˜์‘ ๋ฐ ํ•˜์ด ์ฐจํŠธ์™€ ํ•จ๊ป˜ webpack์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Uncaught TypeError: _highcharts2.default[(this.props.type || "Chart")] is not a constructor

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์ง€๋งŒ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ˆœ์—ด๊ณผ import/require 'highcharts', 'highcharts/highstock,'highcharts.js'์˜ ์กฐํ•ฉ์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ด์ œ๋Š” ์™„์ „ํžˆ ์„ ํƒ์˜ ์—ฌ์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

var Chart = React.createClass({ componentDidMount: function () { // Extend Highcharts with modules if (this.props.modules) { this.props.modules.forEach(function (module) { module(Highcharts); }); } // Set container which the chart should render to. this.chart = new Highcharts[this.props.type || "Chart"]( this.props.container, this.props.options ); }, //Destroy chart before unmount. componentWillUnmount: function () { this.chart.destroy(); }, //Create the div which the chart will be rendered to. render: function () { return React.createElement('div', { id: this.props.container }); } }), element2;

์—ฌ๊ธฐ ์ข€ ๋„์™€์ฃผ์‹œ๊ฒ ์–ด์š”?

@satishrao84 https://github.com/kirjs/react-highcharts ๋ฅผ ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €์—๊ฒŒ ์ž˜ ๋งž์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ฒˆ๋“ค, js ํŒŒ์ผ์— ํฌํ•จ๋œ ํ…Œ๋งˆ์™€ ํ•จ๊ป˜ ์„ฑ๊ณต์ ์œผ๋กœ webpack์„ ์‚ฌ์šฉํ•˜์—ฌ ES6 ๊ฐ€์ ธ์˜ค๊ธฐ ์ž‘์—…์„ ํ•˜๋Š” Highcharts์™€ Highstock์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” https://github.com/pablojim/highcharts-ng/issues/624 ์—์„œ highcharts-ng ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ผ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ์ฑ…์€ highcharts/highstock์„ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ ํ…Œ๋งˆ๋ฅผ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ ๋‚ด ๋ฉ”์ธ ์•ฑ์—์„œ highcharts-ng๋ฅผ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ ๋‚ด webpack ๊ตฌ์„ฑ์˜ ๋ฒˆ๋“ค ์ „์—ญ์— Highcharts๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๊ณ  ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

*์ฐธ๊ณ : 1.1.0์—๋Š” Highcharts 5๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ณ  Highcharts ์ œํ’ˆ์„ ๊ฐ•์ œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— highcharts-ng v1.0.1๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. Highstock์ด ํ•„์š”ํ–ˆ๊ณ  v1.0.1๋กœ ๋˜๋Œ๋ฆฌ๋ฉด Highcharts ์ข…์†์„ฑ์ด ํฌํ•จ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ Highchart๋ฅผ ์ด์ค‘ ๋˜๋Š” ์‚ผ์ค‘ ๋กœ๋“œํ•˜์ง€ ์•Š๊ณ ๋„ ๋‚ด ๋ฒˆ๋“ค์—์„œ Highstock v6 ๋ฐ ๋‚ด ํ…Œ๋งˆ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘: ๊ฐ€์ ธ์˜ค๊ธฐ ES6 ๊ตฌ๋ฌธ์œผ๋กœ๋„ ๋‚ด๋ณด๋‚ด๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

import Highcharts from "highcharts/highstock";
import "../../js/highcharts.theme";
import "highcharts-ng";
import Exporter from "highcharts/modules/exporting";

// connect exporter to Highcharts bundle global
Exporter(Highcharts);

๊ทธ๋ฆฌ๊ณ  webpack.config์—์„œ ํ…Œ๋งˆ์— ๋Œ€ํ•œ ์ „์—ญ Highcharts๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  plugins: [
    new webpack.ProvidePlugin({
      jQuery: "jquery",
      $: "jquery",
      "window.jQuery": "jquery",
      Highcharts: "highcharts/highstock"
    })
  ]

@satishrao84 highstock ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ highchart๋งŒ ๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. Highstock JS์— ๋Œ€ํ•œ webpack bundle.js๋ฅผ ํ™•์ธํ•˜๊ณ  ์••์ถ•๋˜์–ด ์žˆ๋Š”์ง€ ๋˜๋Š” Highcharts๊ฐ€ ๋Œ€์‹  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. import๋กœ highstock ๋กœ๋“œ์— ๋Œ€ํ•œ ์œ„์˜ ๋‚ด ์˜๊ฒฌ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. highstock๊ณผ highcharts-ng๋กœ ์ž‘์—…ํ•˜๋Š” ํ…Œ๋งˆ๊ฐ€ ์žˆ์ง€๋งŒ bundle.js์— ์žˆ๊ณ  Highcharts๊ฐ€ ์ฃผ์ž…๋˜๊ณ  ์žˆ์ง€๋งŒ ์•„์ง ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ์ž‘๋™ํ•˜๋„๋ก ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฉ”๋‰ด ์•„์ด์ฝ˜์ด ์•„์ง ๋‚ด ์ฐจํŠธ์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ด์ œ ์ปค๋ฐ‹ 7da7361์—์„œ ์ˆ˜ํ–‰๋œ ์—…๋ฐ์ดํŠธ๋กœ ์ธํ•ด ๋‹ซํžŒ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์ด ์ปค๋ฐ‹์€ ES6์—์„œ Highcharts๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์—ฌ๊ธฐ์„œ ๋ฐ˜๋ณต๋˜๋Š” ๋ฌธ์ œ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์ด ์—…๋ฐ์ดํŠธ๋ฅผ www.highcharts.com/docs ์—๋„ ์ ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ด ๋ฌธ์ œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‹ค๋ฅด์ง€๋งŒ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๊ฐ€ ํ˜ผํ•ฉ๋œ ๊ฒƒ์œผ๋กœ ๋ฐœ์ „ํ•˜์—ฌ ์ถ”์ ํ•˜๊ธฐ๊ฐ€ ์กฐ๊ธˆ ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ์ด ์ฃผ์ œ์™€ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์ด ์žˆ์œผ๋ฉด ์ ์ ˆํ•œ ๋„์›€์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์šธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค.

ES6 ๋ชจ๋“ˆ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‚ฌ๋žŒ๋“ค์€ ์ด์Šˆ #7186์„ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

์ด ์ฃผ์ œ์™€ ๊ด€๋ จํ•˜์—ฌ ์งˆ๋ฌธ์ด ์žˆ์œผ๋ฉด ์˜๊ฒฌ์„ ๋ณด๋‚ด์ฃผ์‹ญ์‹œ์˜ค.

์นœ์• ํ•˜๋Š”

๊ทธ๊ฒƒ์„ ์ฐพ๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์ง€ ๋งŒ ๊ฒฐ๊ตญ ๋…ธ์ถœ์„ ์‚ฌ์šฉํ•˜๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์„ค์น˜ ํ•˜์ด ์ฐจํŠธ
๊ทธ๋ฆฌ๊ณ 
๊ฐ€์ ธ์˜ค๊ธฐ '๋…ธ์ถœ?ํ•˜์ด์ฐจํŠธ!ํ•˜์ด์ฐจํŠธ/ํ•˜์ด์ฐจํŠธ';

@ omer123456 ์˜ ์†”๋ฃจ์…˜์˜ ๋ฌธ์ œ๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.
                 You need to specify 'expose-loader' instead of 'expose',
                 see https://webpack.js.org/guides/migrating/#automatic-loader-module-name-extension-removed

์ž‘๋™ํ•˜๋Š” ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€
๋‹น์‹ ์˜ ๋ฉ”์ธ js์—์„œ

import Highcharts from 'highcharts';
import 'highcharts-ng'

๊ทธ๋Ÿฐ ๋‹ค์Œ webpack.config.js์— ์ƒˆ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

{
   test: require.resolve('highcharts'),
   use:[{
            loader: 'expose-loader',
            options: 'Highcharts'
   }]
}

์ด๊ฒƒ์€ ๋˜ํ•œ Cannot read property 'Chart' of null ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ด ์Šค๋ ˆ๋“œ์— ์–ธ๊ธ‰๋˜์–ด ์žˆ์ง€๋งŒ ๋†“์น˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์˜ highcharts์—๋Š” ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ์‹ค์ œ es6 ๋ชจ๋“ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/highcharts/highcharts/issues/7186

์˜จ๋ผ์ธ ๋ฌธ์„œ์—์„œ ๊ทธ๋“ค์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์—ฌ์ „ํžˆ ๋ˆ„๋ฝ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ด์ง€๋งŒ-

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰