当前位置: 首页 > 知识库问答 >
问题:

当使用带有代码拆分的汇总时,有没有什么方法可以保留包的目录结构?

罗宪
2023-03-14

考虑到这样的项目结构:

┌ 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写入输出目录时,它会创建一个平面结构。它足够聪明,可以识别多个文件具有相同的名称,并附加一个数字来区分它们。虽然这是工作代码,但在需要它们的页面上维护对这些模块的引用变得很困难——开发人员必须知道哪个编号对应于哪个文件。

在输出多个bundle时,有没有办法让rollup保留文件夹结构,以便更清楚地显示文件关系?或者,如果仅通过汇总无法实现这一点,是否可以采取其他解决方案?

共有1个答案

督瑞
2023-03-14

使用preserveModules:true标志将从输入输出相同的目录结构。https://rollupjs.org/guide/en/

 类似资料:
  • 我公司使用汇流维基,这里有一些文档和共享记录。但是我发现这不是很方便,例如插入一些代码块,我必须键入然后选择code block然后选择language(例如bash java等),如果使用markdown就。 有没有什么方式可以在汇合中快速插入代码?

  • 问题内容: 我的代码中出现了很多错误。因此,我希望能够在一开始就将它们最小化,或者在执行代码之前看到尽可能多的错误。这可能吗,如果可以,我该怎么做? 问题答案: 如果您在语法方面遇到问题,可以尝试使用语法突出显示的编辑器。除非您有一种语言的感觉,否则简单的错误将不会突然出现。 调试的最简单形式是插入一些打印语句。一种更高级(且可扩展)的方法是使用std lib中的日志记录模块。 交互式解释器是使用

  • 问题内容: 我在一个包含私有字段的包中有一个结构: 另一个软件包(例如,白盒测试软件包)需要访问它们: 是否有一种方法可以声明是某种“朋友”软件包,或者可以通过其他任何方式访问的私有成员,但仍然对所有其他软件包保持私有(也许在其中)? 问题答案: 有 是 一种方法来 读取 使用反映不导出成员 但是,尝试使用y.Set或通过其他方式设置反射字段将导致代码恐慌,您试图在软件包外部设置未导出的字段。 简

  • 我刚刚开始开发一个javafx应用程序,正在阅读一些教程。在这些教程中,没有提到好的实践或支持(标准)方法来构建应用程序。尽管FXML文档提供了表示层的分离,但和文件与文件存储在同一个目录中,而且由于我是使用django和rails等框架进行开发的,缺乏标准结构或层分离使我感到不安。

  • 问题内容: 我正在建立一个带有flask的网站,其中用户具有帐户并能够登录。我正在使用flask-principal作为登录部分和角色管理。有没有办法让用户的会话在5分钟或10分钟后过期?我在flask文档或flask-principal文档中找不到该文件。 我想到了一种手动方法,在登录时在服务器端设置一个带有时间标签的变量,并在用户执行下一个操作时,服务器会验证该时间戳记上的时间增量并删除会话。

  • 问题内容: 我有一个使用XML和反射将 s 返回到另一个类的类。 通常,这些对象是外部对象的子字段,但有时我想即时生成它。我已经尝试过类似的方法,但无济于事。我相信这是因为Java不允许你访问进行反射的方法。 如果提供的方法失败,则失败。我可以通过制作方法来解决它,或者制作另一个类来派生它。 长话短说,我只是想知道是否存在一种通过反射访问方法的方法。 问题答案: 你可以使用反射调用私有方法。修改已