Webpack 将在包中包含所有d3.js,import { select } from 'd3'
如下面的包可视化所示。这个问题可以通过做来解决,import { select } from 'd3-selection'
但这在某种程度上违背了自动摇树的目的。
在我们的非库代码的简单情况下,摇树似乎确实有效。
我们使用"modules": false
in our.babelrc
是为了保留模块语法,并'module'
在 webpack.config.jsresolve: { mainFields: ['module', 'browser', 'main'] }
中使用 resolve 来选择 d3 的基于模块的代码。如您所见,导入的node_modules/d3/index.js被划分为 ES6 模块,而不是单一的浏览器包或 CommonJS 导出。
这应该作为问题发布在 webpack github 页面上还是我做错了什么?这是使用所有最新版本的库(d3@4.5.0
,webpack@2.2.1
等)
编辑:似乎这与以下问题有关: