【问题标题】:Reducing a JSON file size in Webpack bundle减少 Webpack 包中的 JSON 文件大小
【发布时间】:2020-09-24 11:39:21
【问题描述】:

我正在尝试优化我的 Webpack 包,并且我已经确定了大量数据是从我的一个依赖项中捆绑的。依赖项是 world-countries,它只是一个包含国家数据的巨大 JSON 对象数组。然而,我只在我的应用程序(一个简单的 React 应用程序)中使用了这些数据的一小部分。

所以我想的是,我想在我的 Webpack 配置中添加 一些东西,这将有效地让我将大对象映射到我正在使用的属性中,并避免拥有所有其余部分的数据最终在我的包中。

我目前关于如何执行此操作的唯一想法是编写一个节点脚本,该脚本运行 postinstall 或 prebuild 以导入模块、映射它并将其保存到新的 JSON 文件中的磁盘中。然后那个 JSON 文件就是我的应用导入的内容。

我正在寻找有关实现此功能的最佳方式的任何建议或想法,最好是以不影响我的应用程序代码并且只是 Webpack 配置的一部分的方式。

【问题讨论】:

  • 您的应用总是使用相同的子集?你用json-loader吗
  • 是的,我总是使用相同的子集。对 json-loader 不支持,它是在 >= 2.0.0 中作为核心 Webpack 的一部分添加的,因此不需要。
  • 如果总是同一个国家,把你需要的复制到你的项目中
  • 对不起,我不是说它总是同一个国家。我使用来自多个国家(或所有国家)的数据,但我需要的国家对象始终是相同的 4 个字段。这是该库在每个国家/地区对象上提供了 30 多个字段,这些字段使我的包膨胀。我不想在我的项目中维护一份详尽的国家/地区列表。

标签: javascript json reactjs webpack bundle


【解决方案1】:

您可以编写一个自定义加载器,该加载器将应用于 Jason 导入,在其中过滤掉您需要的内容。

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 2020-08-10
    • 2019-07-06
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    相关资源
    最近更新 更多