在使用带有代码拆分的ROLLUP时,有没有办法保留包的目录结构?

Is there any way to preserve directory structure of bundles when using rollup with code splitting?(在使用带有代码拆分的ROLLUP时,有没有办法保留包的目录结构?)

本文介绍了在使用带有代码拆分的ROLLUP时,有没有办法保留包的目录结构?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

上下文:

给定如下的项目结构:

┌ src
├─┬ a
│ └── module.js
├─┬ b
│ └── module.js
└── util.js

其中两个module.js文件都导入util.js,使用以下配置:

export default {
    experimentalCodeSplitting: true,
    input: [
        'src/a/module.js',
        'src/b/module.js'
    ],
    output: {
        dir: 'bundle',
        format: 'esm'
    }
};

输出以下结构:

┌ bundle
├── chunk-af6d88c4.js
├── module.js
└── module2.js

问题:

在使用代码拆分来减少项目中的冗余代码时,如果不同目录中有多个具有相同文件名的模块,则当ROLLUP写入输出目录时,它会创建一个平面结构。它足够智能,可以识别多个文件具有相同的名称,并附加一个数字来区分它们。虽然这是工作代码,但在需要它们的页面上维护对那些模块的引用变得很困难-开发人员必须知道哪个数字对应哪个文件。

有没有办法在输出多个捆绑包时使用ROLLUP来保留文件夹结构,以便更清楚地显示文件关系?或者,如果仅通过汇总无法做到这一点,是否可以采用其他解决方案?

推荐答案

使用预留模块:True标志将从输入输出相同的目录结构。 https://rollupjs.org/guide/en/

这篇关于在使用带有代码拆分的ROLLUP时,有没有办法保留包的目录结构?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:在使用带有代码拆分的ROLLUP时,有没有办法保留包的目录结构?

基础教程推荐