【问题标题】:Cubism d3 dependency with requirejs立体主义 d3 依赖于 requirejs
【发布时间】:2017-06-01 16:23:54
【问题描述】:

在使用 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

请帮我找出我哪里做错了?

【问题讨论】:

  • 您使用的是 d3 v4 吗?据我所知,立体主义与 v4 不兼容。
  • @gerardo-furtado 是的。它是 4.4.1
  • 我将 d3 更改为 v3,并且在未加载立体主义时遇到不同的错误。
  • 先在没有 require.js 的情况下尝试一下,看看它们是否兼容或查看文档。
  • 是的。在添加 require.js 之前它正在工作。

标签: javascript d3.js requirejs cubism.js


【解决方案1】:

在我的情况下使用 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
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    相关资源
    最近更新 更多