使用Webpack + Typescript加载AmCharts

Ale*_*oni 3 javascript charts amcharts typescript webpack

我有一些严重的问题让任何图表库与webpack + typescript一起使用.我现在正在与AmCharts合作,并且已经不得不在定义文件上工作以获得typescript编译器识别的模块语法.

我的webpack配置设置如下:

"resolve": {
        extensions: ['', '.webpack.js', '.web.js', '.ts', '.js'],
        "alias": {
            "config": path.join(__dirname, "../app"),
            "amcharts": "amcharts3/amcharts/amcharts.js"
        }
    },
Run Code Online (Sandbox Code Playgroud)

在打字稿中: import AmCharts from "amcharts";

现在,这一切都按预期编译,但是当我做一个时, console.log(AmCharts)我留下了一个空对象.

有没有人有任何经验可以让AmCharts + webpack很好地发挥,或者是一个符合以下标准的体面的替代图表库:

  1. 体面的Typescript定义支持
  2. 可通过JSON配置
  3. 与ES6/Webpack/CommonJS很好地配合使用

提前致谢!

Eli*_*rez 7

我遇到了同样的问题 import AmCharts from 'amcharts3'

打印到控制台时出现空对象,出现以下错误:

Uncaught TypeError: _amcharts2.default.makeChart is not a function

ASNWER:

我能够通过使用窗口变量来引用amcharts来纠正我的问题 window.AmCharts.makeChart('chartdiv', options)

希望您可以使用相同的方法.

  • 我最终得到了amcharts支持团队的回复.诀窍是在webpack配置中执行`externals:{"amcharts":"var AmCharts"},`,然后实际将它放在index.html的scripts标签中.然后在必要时你可以做`import'amcharts"`它会起作用.他们说amcharts的下一个版本(v4?)将支持ES6,但它还有很长的路要走.这是一个耻辱,它是更好的图表库之一. (3认同)