我正在开发一个使用 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"
}
]
但是,这需要我跟踪模块之间的所有依赖关系,并且随着库大小的增长,配置文件变得容易出错并且难以维护。有没有办法只指定一个没有依赖关系的公共模块列表并期望上述行为?