0

我有两个使用 RequireJS 的应用程序。一个使用另一个作为插件,如果你愿意的话,一个模块。插件/模块已经使用r.js.

当我在我的服务器上运行应用程序时,一切正常,在这种状态下,应用程序尚未优化,只有插件/模块。

当我通过优化应用程序r.js并包含插件/模块r.js时会引发错误,因为它找不到插件/模块使用但最终在插件/模块得到优化时被捆绑的文件。

那么我该如何解决呢?我想我有以下选择:

  1. 当我构建我的主应用程序时,我包含未优化的插件/模块并一次优化它。
  2. 我将优化插件/模块中的所有 URL 添加到配置中并将它们指向:empty,但这将是一个球痛,因为这些路径是动态的。

那我还能做什么?有没有办法告诉r.js任何一个:

  1. 不要费心在我优化的插件/模块中寻找所需的路径。
  2. 以某种方式编译我的插件/移动设备,但从其中删除所有痕迹definerequire从而使其自包含,如果可能的话。
4

1 回答 1

0

所以我通过将我的插件/模块作为依赖项而不是应用程序的一部分来解决这个问题。

由于为您的应用程序拥有一个主配置文件是个好主意,因此我告诉r.js使用它,但随后将我的插件/模块的 URL 欺骗为特殊empty:值。

然后停止r.js尝试查找已经优化的插件/模块的所有依赖项,并允许我将其作为依赖项包含在内;现在一切都很好。

于 2013-02-22T08:33:42.663 回答