2017-05-26 42 views
1

我正在尝试将javascript量表脚本(http://bernii.github.io/gauge.js/dist/gauge.min.js)导入到要使用的组件中。将Gauge.js导入反应组件

我将脚本从(http://bernii.github.io/gauge.js/dist/gauge.min.js)复制到我的组件文件夹中重命名为(Gauge.js)并需要它。

var Gauge = require('./Gauge'); 

然后我尝试使用它的构造像这样创建计脚本,这是在componentDidMount使用()。

var target = this.refs.test; var gauge = new Gauge(target);

我的渲​​染

render() { return( <div className="GaugeTest"> <canvas width={this.props.width} height={this.props.height} ref="test" /> </div> ); }

我得到的错误:

Overview.js:34遗漏的类型错误:轨距不是构造这是指线路它有这个代码:

var gauge = new Gauge(target); 

有关如何包含/需要此脚本的任何想法,以便我可以在我的组件中使用它?

+0

你有没有想出解决办法? –

+0

具体而言,我使用了react-gaugejs,您也可以使用cdn或本地文件将它正常包含在HTML文件中。其他选项是使用webpack和别名来导入这些脚本。有关该网站的更多信息。 –

+0

结束了解​​决它。我安慰Gauge,发现它正在以Gauge(和其他人)作为对象本身返回,作为一个关键。所以我只是'var gauge = new Gauge.Gauge(target);'而且它工作。 –

回答

1

它是以Gauge(和其他选项)作为关键字导入为对象的。因此,而不是做:

var Gauge = Gauge.Gauge(target); 

如果你想知道为什么只是console.log(Gauge)

+0

我试图将库转换为类并失败。 你的回应拯救了我的一天:) – Loves2Develop