Aurelia CLI无法导入chart.js TypeScript

时间:2016-12-05 21:33:42

标签: typescript aurelia aurelia-cli

我正在使用带有aurelia / aurelia-cli的打字稿。我安装了chart.js并将其添加到我的aurelia.json文件中:

"dependencies": [
      ...
      {
        "name": "chartjs",
        "path": "../node_modules/chart.js/dist",
        "main": "Chart"
      },
]

我也经常打字:

typings install dt~chart.js --global --save

现在我尝试在我的某个组件中导入它

import * as Chart from 'chartjs'

但我收到错误:

Cannot find module 'chartjs'.

我也尝试过:

... from 'chart'
... from 'Chart'
... from 'Chart.js'
... from 'chartjs'
import * as chart ...
import * as chartjs ...

3 个答案:

答案 0 :(得分:1)

您是否尝试过声明空模块?例如,在index.d.ts之类的声明文件中,添加:

declare module "chart.js";

我发现这是导入第三方库的一个很好的起点。更多信息可以在这里找到:https://www.typescriptlang.org/docs/handbook/modules.html#working-with-other-javascript-libraries

如果没有错误并且您可以使用普通的js chart.js函数,则表示该库已包含但类型尚未包含。

此外,如果你使用的是Typescript 2.0,我认为你应该安装这样的类型:

npm install --save @types/chartjs

答案 1 :(得分:1)

我能够通过更改我的import和aurelia.json文件来使其工作。

aurelia.json

{
    "name": "chartjs",
    "path": "../node_modules/chart.js/dist/Chart.min"
},

import statement

import 'chartjs';

答案 2 :(得分:0)

我知道Chart.js与Aurelia合作,因为我们在其中一个研讨会应用程序中使用它。在演示应用程序中,它是这样导入的:import Chart from 'chartjs';但是这是ES2015,而不是TypeScript。

此外,配置在aurelia.json

中应如下所示
      {
        "name": "chartjs",
        "path": "../node_modules/chart.js/Chart.min",
        "exports": "Chart"
      }