我试图加载d3-selection-multi连同d3使用V4 RequireJS.我的主要脚本是:
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js"></script>
<script>
require.config({
paths: {
"d3": "//d3js.org/d3.v4.min",
"d3-selection-multi": "//d3js.org/d3-selection-multi.v1.min",
"d3-queue": "//d3js.org/queue.v1.min",
"underscore": "//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min",
"jquery": "//cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min",
"jquery_easing": "//cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min",
"bootstrap": "//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min",
"moment": "//cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min"
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
但d3-selection-multi需要d3-transition和d3-selection,所以如果我添加那些,那么我发现d3-transition需要d3-color等等等等.
不正常的d3V4配备d3-selection,d3-transition,d3-color,和所有的?这是否意味着一旦我选择使用一个微库,那么我就不能使用正常d3而我需要定义所有其他依赖的微库?
我想使用d3-selection-multi所以我没有必要重写我的所有.attr()不使用{}语法.
如果您不想将应用程序完全切换到 d3 微库,您可以通过 requirejsmap配置引用捆绑的 d3 库的依赖项。您可以在此处找到所需的依赖项。
requirejs.config({
paths: {
'd3': '...',
'd3-selection-multi': '...',
...
},
map: {
'*': {
'd3-color': 'd3',
'd3-dispatch': 'd3',
'd3-ease': 'd3',
'd3-interpolate': 'd3',
'd3-selection': 'd3',
'd3-timer': 'd3',
'd3-transition': 'd3'
}
}
});
Run Code Online (Sandbox Code Playgroud)