我已经尝试了一段时间,但却没有成功将高图作为require模块加载。我想知道是否有人设法让这个工作,或者他们是否有任何指示让我走上正确的轨道?
谢谢
答案 0 :(得分:41)
使用require.js 2.1.0+时,不需要插件。您可以使用shim包含Highcharts:
require.config({
paths: {
require: "libs/require",
jquery: "libs/jquery",
highcharts: "libs/highcharts"
},
shim: {
highcharts: {
exports: "Highcharts",
deps: ["jquery"]
}
} // end Shim Configuration
});
答案 1 :(得分:1)
我刚刚按照以下方式工作:
在顶部添加:
define(['jquery'], function (jQuery) {
在最后添加:
return window.Highcharts; });
这假设你已经定义了jquery,例如
require.config({
paths: {
'jquery': 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min'
}
});
对于大多数第三方库,您可以遵循此一般方法。例如,我为jquery.tmpl.js和knockout.js做了这个。
答案 2 :(得分:1)
使用最近的use.js plugin绝对是可行的方法。按照我之前的答案中的建议编辑第三方库是可维护性的一个难题。
答案 3 :(得分:0)
最近的带有模块(JSFiddle example)的Highcharts方法的最小示例:
require.config({
paths: {
highcharts: "https://code.highcharts.com/highcharts",
highcharts_exporting: "https://code.highcharts.com/modules/exporting"
}
});
require(['highcharts', 'highcharts_exporting'], function(Highcharts, exporting) {
exporting(Highcharts); // We need to initialize module files and pass in Highcharts
Highcharts.chart('container', {
series: [{
data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
}, {
data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
}]
});
});
有关用法说明,请参见this Highcharts documentation。