我想使用此Chart JS reactJs wrapper library。
我正在使用library from a CDN,因为我没有为此项目设置任何模块捆绑过程。我知道我可以,但想知道如何在不使用require
的情况下使用此库。我认为对于那些对一些较新的js实践仍感到有点不舒服的人来说,解释如何做到这一点的答案会很有用。
在反应包装器Chart JS示例中,您将看到它显示:
var LineChart = require("react-chartjs").Line;
var MyComponent = React.createClass({
render: function() {
return <LineChart data={chartData} options={chartOptions} width="600" height="250"/>
}
});
在使用CDN时,如果没有require
仍然可以为LineChart
分配相同的值吗?
答案 0 :(得分:2)
只需查看CDN提供的文件并自行查找。
它有这样的形式:
(function (root, factory) {
// Do some stuff to detect the environment
// When everything fails, just assign a global variable:
root["react-chartjs"] = factory(root["React"], root["ReactDOM"], root["Chart"]);
})(this, function ( ... ) {
....
});
其中root
是全局对象(浏览器中为window
),factory
只是一个接受依赖项并返回库的函数。
获取LineChart
:
window['react-chartjs'].Line
请注意factory
需要React
,ReactDOM
和Chart
。并假设所有这些都将以相同的方式命名为全局变量。