【发布时间】:2015-03-06 21:31:43
【问题描述】:
我在一个项目中,我们正在开发一个小部件系统。我将尽量不详细介绍这一点,但在这个系统中,小部件必须能够指定其依赖项。我们通过允许小部件使用 RequireJS 指定其第 3 方依赖项来实现这一点。
小部件用于内部开发的应用程序。这些应用程序不使用 RequireJS 作为它们自己的依赖项,它们只是为了小部件而包含 RequireJS。
现在,假设我有一个小部件想要使用库 X。X 是一个指定 AMD 对 jQuery 的依赖的库(AMD 模块 jquery)。现在,jQuery 包含在每个内部开发的应用程序中(它是我们应用程序的核心部分),所以这应该不是问题。但是,由于 jQuery 不是通过 RequireJS 加载的(它是在包含 RequireJS 之前通过脚本标签手动加载的),因此 AMD 模块永远不会注册,并且库 X 无法加载,因为它找不到 jquery 模块。
如何让库 X 找到 AMD 模块 jquery,即使没有使用 RequireJS 加载 jQuery?我怀疑以某种方式使用 RequireJS 垫片 (http://requirejs.org/docs/api.html#config-shim) 可以解决这个问题,但我还没有弄清楚如何解决。非常感谢任何帮助。
【问题讨论】: