我正在尝试使用d3.group
,它是几天前发布的d3数组子模块的一个非常新的功能。我正在使用yarn / webpack工作流程和import语句像这样拉入D3:
import * as d3 from 'd3';
但是,当我尝试使用d3.group
时,它不起作用。
console.log(d3.group)
返回未定义。
要解决这个问题,我必须安装最新版本的d3-array并将其分配给新的命名空间。
import * as d3Array from 'd3-array';
console.log(d3Array.group)
这成功返回了函数。
所以我的问题是,当Bostock或其他D3开发人员更新子模块时,这些更新是否要等到进行重大更新时才添加到D3主命名空间中?每当我想使用一个真正的新功能时,是否有必要从子模块中拉出?
答案 0 :(得分:0)
考虑到最新的d3阵列中没有最新的d3阵列,而您正在使用webpack / yarn
您可以轻松地将模块加载到d3.*
上,安装最新的模块,然后将它们包装在一起,
示例: //选择所有d3模块并将其保存在d3.js中 //然后将其加载到脚本中->从'./d3'导入d3; 从“ d3-选择”中导入{select,selectAll} 从“ d3-array”导入{group}
const d3 = Object.assign(
{},
{
select,
selectAll,
group,
}
)
export default d3;
ref:https://www.giacomodebidda.com/how-to-import-d3-plugins-with-webpack/