我正在研究一个使用 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