使用 CDN 时使用没有 'require' 的库
using library without 'require' when using CDN
我想用这个Chart JS reactJs wrapper library。
我正在使用 library from a CDN,因为我没有为此项目设置任何模块捆绑过程。我知道我可以,但想知道如何在不使用 require
的情况下使用这个库。我认为对于那些仍然对一些较新的 js 实践感到有点不舒服的人来说,解释如何做到这一点的答案会很有用。
在 React 包装器 Chart JS 示例中,您将看到它显示:
var LineChart = require("react-chartjs").Line;
var MyComponent = React.createClass({
render: function() {
return <LineChart data={chartData} options={chartOptions} width="600" height="250"/>
}
});
如果没有 require
,在使用 CDN 时是否可以将相同的值分配给 LineChart
?
自己看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
只是一个接受依赖项和 returns 库的函数。
得到LineChart
:
window['react-chartjs'].Line
请记住 factory
需要 React
、ReactDOM
和 Chart
。并假设所有这些都在一个以相同方式命名的全局变量中。
我想用这个Chart JS reactJs wrapper library。
我正在使用 library from a CDN,因为我没有为此项目设置任何模块捆绑过程。我知道我可以,但想知道如何在不使用 require
的情况下使用这个库。我认为对于那些仍然对一些较新的 js 实践感到有点不舒服的人来说,解释如何做到这一点的答案会很有用。
在 React 包装器 Chart JS 示例中,您将看到它显示:
var LineChart = require("react-chartjs").Line;
var MyComponent = React.createClass({
render: function() {
return <LineChart data={chartData} options={chartOptions} width="600" height="250"/>
}
});
如果没有 require
,在使用 CDN 时是否可以将相同的值分配给 LineChart
?
自己看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
只是一个接受依赖项和 returns 库的函数。
得到LineChart
:
window['react-chartjs'].Line
请记住 factory
需要 React
、ReactDOM
和 Chart
。并假设所有这些都在一个以相同方式命名的全局变量中。