主D3模块名称空间是否没有通过添加出血边缘子模块进行更新



我正在尝试使用d3.group,这是几天前发布的d3阵列子模块的一个非常新的添加。我正在使用yarn/webpack工作流和导入语句来引入D3,如下所示:

import * as d3 from 'd3';

然而,当我尝试使用d3.group时,它没有起作用。

console.log(d3.group)

返回未定义的。

为了解决这个问题,我不得不安装最新版本的d3数组,并将其分配给一个新的命名空间。

import * as d3Array from 'd3-array';
console.log(d3Array.group)

这成功地返回了函数。

所以我的问题是,当Bostock或其他D3开发人员更新子模块时,更新是否会在重大更新之前添加到主D3命名空间?每次我想使用一个真正的新功能时,是否有必要从子模块中提取?

考虑到最新的d3数组不是最新的d3捆绑包上的数组,并且您使用的是webpack/yarn

你可以很容易地在d3.*上加载模块,安装最新的模块,然后包装在一起,

示例://选择所有d3模块并将其保存在d3.js上//然后将其加载到您的脚本上->从'导入d3/d3’;从"d3 selection"导入{select,selectAll}从"d3数组"导入{group}

const d3 = Object.assign(
{},
{
select,
selectAll,
group,
}
)
export default d3;

参考:https://www.giacomodebidda.com/how-to-import-d3-plugins-with-webpack/

最新更新