我在尝试将d3集成到require/backbone应用程序时遇到了问题.我的main.js包含类似的内容:
require.config({
paths: {
d3: 'libs/d3/d3.v2.min'
backbone: ...
...
}
});
Run Code Online (Sandbox Code Playgroud)
我的骨干看起来像(在coffeescript中)
define ['backbone','d3',...], (Backbone,d3,...) ->
MyView = Backbone.View.extend
initialize: () ->
d3.somefunction
Run Code Online (Sandbox Code Playgroud)
控制台日志说d3为空.有没有一种简单的方法将d3集成到这种类型的应用程序中?
jrb*_*rke 50
D3不会调用定义()声明一个模块,所以当地的d3参考骨干视图不会是你想要的.使用d3生成的全局变量:
define(['backbone', 'd3'], function (backbone, ignore) {
//Use global d3
console.log(d3);
});
Run Code Online (Sandbox Code Playgroud)
或者使用shim配置声明d3的导出值:
requirejs.config({
shim: {
d3: {
exports: 'd3'
}
}
});
Run Code Online (Sandbox Code Playgroud)
这将告诉requirejs使用全局d3作为d3的模块值.
| 归档时间: |
|
| 查看次数: |
15825 次 |
| 最近记录: |