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

Requirejs 使用require.js构建包含公共和私有模块的库,requirejs,rjs,Requirejs,Rjs,我正在使用require.js构建一个库。它有许多公共(由图书馆用户记录和访问)和私有(仅在图书馆内使用)模块。 这就是我希望在rjs优化过程中实现的目标: 将我的代码压缩到尽可能少的文件中 所有公共模块必须可在单个文件中访问 文件之间不应重复任何代码 假设我有模块A、B、C和D。A和B是公共的,都依赖于C。C依赖于D,但C和D都不是公共API的一部分。我希望rjs创建以下文件: A.js——包含一个模块 B.js——包含B模块 C.js——包含C和D模块 有一种方法可以在rjs配置中实

我正在使用require.js构建一个库。它有许多公共(由图书馆用户记录和访问)和私有(仅在图书馆内使用)模块。 这就是我希望在rjs优化过程中实现的目标:

  • 将我的代码压缩到尽可能少的文件中
  • 所有公共模块必须可在单个文件中访问
  • 文件之间不应重复任何代码
假设我有模块A、B、C和D。A和B是公共的,都依赖于C。C依赖于D,但C和D都不是公共API的一部分。我希望rjs创建以下文件:

  • A.js——包含一个模块
  • 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中的一个新功能感兴趣。

听起来是一个有趣的功能,但是,它仍然不能使我不必跟踪配置文件中的依赖项。我也可以将所有模块放在一个包中,但我只想加载我需要的模块。