Javascript 使用不带'的库;要求';使用CDN时

Javascript 使用不带'的库;要求';使用CDN时,javascript,reactjs,browserify,chart.js,cdn,Javascript,Reactjs,Browserify,Chart.js,Cdn,我想用这个 我正在使用,因为我没有为此项目设置任何模块绑定过程。我知道我可以,但我想知道如何在不使用require的情况下使用这个库。我认为,对于那些对一些较新的js实践仍有点不适应的人来说,解释如何做到这一点,这将是一个有用的答案 在react wrapper Chart JS示例中,您将看到它显示: var LineChart = require("react-chartjs").Line; var MyComponent = React.createClass({ render: f

我想用这个

我正在使用,因为我没有为此项目设置任何模块绑定过程。我知道我可以,但我想知道如何在不使用
require
的情况下使用这个库。我认为,对于那些对一些较新的js实践仍有点不适应的人来说,解释如何做到这一点,这将是一个有用的答案

在react wrapper Chart JS示例中,您将看到它显示:

var LineChart = require("react-chartjs").Line;

var MyComponent = React.createClass({
  render: function() {
    return <LineChart data={chartData} options={chartOptions} width="600" height="250"/>
  }
});
var LineChart=require(“react chartjs”).Line;
var MyComponent=React.createClass({
render:function(){
返回
}
});

如果没有
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
只是一个获取依赖项并返回库的函数

要获取
折线图

window['react-chartjs'].Line

请记住
工厂
需要
反应
反应
图表
。并假设所有这些都将在一个以相同方式命名的全局变量中。

nice@marco谢谢!我还从CDN消费
ChartJs
。这是否意味着我必须更改设置?一点也不,只要您在该文件之前加载
ChartJs
,并且
ChartJs
存储在名为
Chart
的全局变量中,请查看参数
factory
takesworks fine,顺便说一句,我们可以用类似于
ReactCharJs
的方法来调用它吗,就像我们在通过CDN加载React时可以使用
React
一样