使用require.js加载Highcharts

我已经尝试了一段时间,但没有成功将加载高图作为require模块。 我想知道是否有人设法让这个工作,或者他们是否有任何指示让我走上正确的轨道?

谢谢

使用require.js 2.1.0+时,不需要插件。 你可以加入一个带垫片的 Highcharts:

require.config({ paths: { require: "libs/require", jquery: "libs/jquery", highcharts: "libs/highcharts" }, shim: { highcharts: { exports: "Highcharts", deps: ["jquery"] } } // end Shim Configuration }); 

我只是按照以下方式工作:

  1. 在顶部添加:

     define(['jquery'], function (jQuery) { 
  2. 最后添加:

    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做了这个。

使用最近的use.js插件绝对是要走的路。 按照我之前的回答中的建议编辑第三方库是可维护性的痛苦。

具有模块的Highcharts的最新方法的最小示例( JSFiddle示例 ):

 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] }] }); }); 

有关用法说明,请参阅此Highcharts文档 。