Cubism d3 依赖与 requirejs

Cubism d3 dependency with requirejs

在使用 require.js 时,我很难声明立体主义对 d3 的依赖。

配置为:

requirejs.config({
  baseUrl: './',
  paths: {
    'jquery': './jquery-1.10.2.min',
    'd3': './d3.min',
    'cubism': './cubism.v1'
 },
 shim: {
    cubism: {
        deps: ['d3']
    }
 }
});

我得到的错误是:

cubism.v1.js:187 Uncaught ReferenceError: d3 is not defined
at cubism.v1.js:187
at cubism.v1.js:1331

请大家帮我看看哪里做错了?

在我的例子中,使用 require.js 时 Cubism 没有按预期加载。我有一个解决此问题的方法,我将 requirejs 配置更改为:

requirejs.config({
baseUrl: './',
paths: {
    jquery: './jquery-1.10.2.min',
    d3: 'http://d3js.org/d3.v3.min',
    cubism_v1: './cubism.v1'
},
shim: {
    cubism_v1: {
        deps: ['d3']
    }
}
});

并将另一个模块声明为:

define('cubism', ['cubism_v1'], function (cubism) {
   return this.cubism; 
});

然后我可以根据需要在其他地方使用立体主义。

requirejs(['jQuery', 'd3', 'cubism'], function (jQuery, d3, cubism) {
   // cubism related code here
});