如何在模块中调用 javascript 函数
How to call javascript function in module
我收到 generateChart 的 Uncaught ReferenceError。
我在 Chart.js 中定义了 generateChart,它在 require.config.js 中被引用。
我是 javascript 的新手,所以这是一个新手问题。
这是我的代码:
主要html文件:
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<body>
<p id="example">
<script src="js/require.config.js"></script>
<script data-main="js/config.js" src="js/lib/require.js"></script>
</body>
require.config.js
var require = {
paths: {
'd3': 'lib/d3',
'Chart' : 'Chart'
}
};
config.js 其中包含主要入口点和对 generateChart
的未引用调用
define([
'd3',
'Chart'
], function (d3, Chart) {
'use strict';
d3.csv("sp500.csv", function(data) {
d3.select("#example")
.datum(data)
.call(generateChart());
});
});
和 Chart.js 我定义 generateChart
define([
'd3'
], function (d3) {
'use strict';
generateChart = function() {
};
});
我不是 require.js 用户,但看起来依赖项已传递到您在 define
中指定的函数中。
这样下面代码中的第二个参数应该代表 Chart
模块,你需要用它来调用 generateChart
:
define([
'd3',
'Chart'
], function (d3, Chart) { /// Second parameter is 'Chart'
'use strict';
d3.csv("sp500.csv", function(data) {
d3.select("#example")
.datum(data)
.call(Chart.generateChart()); /// use it here to call generateChart()
});
});
第二个问题是 Chart.js 应该 return 一个对象而不仅仅是定义一个函数:
define([
'd3'
], function (d3) {
'use strict';
return {
generateChart: function() {
alert('here');
}
}
});
我收到 generateChart 的 Uncaught ReferenceError。
我在 Chart.js 中定义了 generateChart,它在 require.config.js 中被引用。
我是 javascript 的新手,所以这是一个新手问题。
这是我的代码:
主要html文件:
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<body>
<p id="example">
<script src="js/require.config.js"></script>
<script data-main="js/config.js" src="js/lib/require.js"></script>
</body>
require.config.js
var require = {
paths: {
'd3': 'lib/d3',
'Chart' : 'Chart'
}
};
config.js 其中包含主要入口点和对 generateChart
的未引用调用define([
'd3',
'Chart'
], function (d3, Chart) {
'use strict';
d3.csv("sp500.csv", function(data) {
d3.select("#example")
.datum(data)
.call(generateChart());
});
});
和 Chart.js 我定义 generateChart
define([
'd3'
], function (d3) {
'use strict';
generateChart = function() {
};
});
我不是 require.js 用户,但看起来依赖项已传递到您在 define
中指定的函数中。
这样下面代码中的第二个参数应该代表 Chart
模块,你需要用它来调用 generateChart
:
define([
'd3',
'Chart'
], function (d3, Chart) { /// Second parameter is 'Chart'
'use strict';
d3.csv("sp500.csv", function(data) {
d3.select("#example")
.datum(data)
.call(Chart.generateChart()); /// use it here to call generateChart()
});
});
第二个问题是 Chart.js 应该 return 一个对象而不仅仅是定义一个函数:
define([
'd3'
], function (d3) {
'use strict';
return {
generateChart: function() {
alert('here');
}
}
});