Javascript d3 namedExports问题汇总

Javascript d3 namedExports问题汇总,javascript,d3.js,rollup,rollupjs,es6-modules,Javascript,D3.js,Rollup,Rollupjs,Es6 Modules,我有一个使用d3制作的包。当然,在我的rollup.config.js文件中,我将d3声明为一个外部和全局包: let config={ ..., 输出:{ 外部:['d3'], 全局变量:{d3:'d3'}, ..., }, ... } 我可能在某个文件中有一个函数,比如: import*作为d3从'd3'导入 ... 导出函数someFunc(arg1、arg2){ d3.选择(arg1) d3.min(arg2) } ... 当我将我的代码与rollup-c捆绑在一起时,我得到了一个很

我有一个使用d3制作的包。当然,在我的
rollup.config.js
文件中,我将
d3
声明为一个外部和全局包:

let config={
...,
输出:{
外部:['d3'],
全局变量:{d3:'d3'},
...,
},
...
}
我可能在某个文件中有一个函数,比如:

import*作为d3从'd3'导入
...
导出函数someFunc(arg1、arg2){
d3.选择(arg1)
d3.min(arg2)
}
...
当我将我的代码与
rollup-c
捆绑在一起时,我得到了一个很好的警告

src/modules/some-file.js
selection is not exported by node_modules/d3/dist/d3.node.js
因此,我返回我的
rollup.config.js
文件并添加以下内容:

//内部配置
插件:[
...,
普通的({
...,
namedExports:{
'node_modules/d3/dist/d3.node.js':[
'选择','最小',
]
},
...,
})
...,
]
现在我的包没有任何警告或抱怨。。。但当我使用捆绑代码时,会出现如下错误:

TypeError:d3_节点_1为空
类型错误:d3_节点_2为空
其中
d3\u节点\u 1
出现在我的
d3的位置。在我的代码中选择
,然后
d3\u节点\u 2
出现在
d3.min
所在的位置


我该如何解决这个问题?

您可能必须使用来使用来自节点的第三方模块

'module'
添加到
主字段似乎可以解决这个问题

nodeResolve({
主要字段:[
“模块”,
'main'、'jsnext'
]
}),

我有
nodeResolve({mainFields:['jsnext',main'],}),
可能您必须像nodeResolve({mainFields:['jsnext',main'],jsnext:true})一样配置它
错误:节点解析:不要将不推荐的'module','main','jsnext'选项与'mainFields'一起使用。