如何解决rollup v3.20.2 bundles src/index.js → dist/3d-force-graph.js... babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers (!) Circular dependencies node_modules/d3-interpolate/src/value.js -> node_modules/d3-interpolate/src/array.js -> node_modules/d3-interpolate/src/value.js node_modules/d3-interpolate/src/value.js -> node_modules/d3-interpolate/src/object.js -> node_modules/d3-interpolate/src/value.js created dist/3d-force-graph.js in 5.5s [2023-06-09 16:54:06] waiting for changes...问题
时间: 2023-09-18 22:16:02 浏览: 578
关于警告信息中提到的 `babelHelpers` 选项,建议在 Rollup 配置文件中显式地进行配置,例如:
```js
// rollup.config.js
import babel from '@rollup/plugin-babel';
export default {
// ...
plugins: [
babel({
babelHelpers: 'bundled',
// ...
}),
// ...
],
// ...
};
```
关于循环依赖的问题,可以尝试在相关模块中使用 `require` 或者 `import` 语句来解决,例如:
```js
// value.js
const { interpolateArray } = require('./array');
const { interpolateObject } = require('./object');
// ...
// array.js
const { interpolateValue } = require('./value');
// ...
// object.js
const { interpolateValue } = require('./value');
// ...
```
或者使用 Rollup 插件 `@rollup/plugin-node-resolve` 来解决循环依赖的问题,例如:
```js
// rollup.config.js
import resolve from '@rollup/plugin-node-resolve';
import babel from '@rollup/plugin-babel';
export default {
// ...
plugins: [
resolve(), // 解决循环依赖
babel({
babelHelpers: 'bundled',
// ...
}),
// ...
],
// ...
};
```
最后,如果以上方法都无法解决问题,可以尝试手动解决循环依赖的问题,例如将 `value.js` 中依赖的部分移到一个新的模块中,然后在 `array.js` 和 `object.js` 中引用该模块。
阅读全文