Javascript 如果存在require.js,如何成功加载dimple.js?

Javascript 如果存在require.js,如何成功加载dimple.js?,javascript,d3.js,requirejs,amd,js-amd,Javascript,D3.js,Requirejs,Amd,Js Amd,D3在检测到AMD(如require.js)时自动禁用全局命名空间污染。js希望d3位于全局命名空间中。说他可以用垫片装酒窝,我可以找到,还有 但是,我找不到完整的工作示例。下面是一个require.config的非工作示例: require.config({ shim: { d3: { exports: "d3" }, dimple: { exports: "dimple", deps: ["d3"]

D3在检测到AMD(如require.js)时自动禁用全局命名空间污染。js希望d3位于全局命名空间中。说他可以用垫片装酒窝,我可以找到,还有

但是,我找不到完整的工作示例。下面是一个
require.config
的非工作示例:

require.config({
    shim: {
        d3: { exports: "d3" },
        dimple: {
            exports: "dimple",
            deps: ["d3"]
        }
    },
    paths: {
        d3: "http://d3js.org/d3.v3.min",
        dimple: "http://dimplejs.org/dist/dimple.v1.1.5.min"
    }
});
还有一个不起作用的例子:

require(["dimple"], function(dimple) {
    var svg = dimple.newSvg("#awesome_bars", 800, 600);
}
// -> dimple is undefined
Dimple(我想!)是一个合适的CommonJS库,我可以加载d3(不需要垫片)。如果你想知道,是的,我有一个合适的div,这与未定义的结果无关


那么,如何在require.js的上下文中访问dimple?

require.js不支持
属性。它应该是
shim

而且-我应该清楚,我试图在IPython笔记本服务器的上下文中运行它-因此我无法控制require.js的包含(或指定数据主属性)。stephen james慷慨地在这里对这个问题提供了一个相当完整的回答:Hi Dav,你最终找到解决办法了吗?我不是100%清楚你的评论“所以我无法控制require.js的包含”。。。你是说你根本不能在IPython笔记本上使用requirejs?我没有玩太多IPython笔记本,但这里的一些人玩过,除了他们使用标准的matplotlib图表。但是如果你说可以引用外部javascript进行渲染,我很乐意提供帮助,所以请告诉我!我现在已经开始使用变通方法(在IPython笔记本之外工作)。您可以将require.js与支持AMD的模块一起使用,因此我想我没有那么大的动力来解决这个问题,因为pull请求将为我们解决这个问题。cf.@rdhyee和我正在使用笔记本中的JS进行绘图。。。这就是说,我会报告回来,如果我得到酒窝工作之前,你更新它,以支持AMD(这似乎是一个普遍的问题)。