使用 require.js 构建包含公共和私有模块的库



我正在研究一个使用 require.js 构建的库。它有许多公共(记录并可供图书馆用户访问(和私有(仅在图书馆内使用(模块。这是我在 rjs 优化期间想要实现的目标:

  • 我的代码压缩成尽可能少的文件;
  • 所有公共模块必须在单个文件中可访问;
  • 不应在文件之间复制任何代码。

假设我有模块 A、B、C 和 D。A 和 B 是公共的,都依赖于 C.C 依赖于 D,但 C 和 D 都不是公共 API 的一部分。我希望 rjs 创建以下文件:

  • A.js -- 包含 A 模块
  • B.js -- 包含 B 模块
  • C.js -- 包含 C 和 D 模块

有一种方法可以在 rjs 配置中实现这一点:

"modules": [
    {
        "name": "A",
        "exclude": ["C"]
    },
    {
        "name": "B",
        "exclude": ["C"]
    },
    {
        "name": "C"
    }
]

但是,这需要我跟踪模块之间的所有依赖关系,并且随着库大小的增长,配置文件变得容易出错且难以维护。有没有办法只指定一个没有依赖项的公共模块列表并期望上述行为?

您可能对 Require.JS 2.1.10: bundles 中的新功能感兴趣。http://requirejs.org/docs/api.html#config-bundles

相关内容

  • 没有找到相关文章

最新更新