使用r.js优化项目并包含已经r.js优化的模块

时间:2013-02-21 19:25:59

标签: optimization requirejs r.js

我有两个使用RequireJS的应用。一个人使用另一个作为插件,如果你愿意,可以使用其他模块。插件/模块已使用r.js进行了优化。

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

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

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

  1. 当我构建我的主应用程序时,我包含未经优化的插件/模块并立即对其进行优化。
  2. 我将优化的插件/模块中的所有网址添加到配置中,并将它们指向:empty,但这将是一个球疼,因为这些路径动态
  3. 那我还能做什么?有没有办法告诉r.js

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

1 个答案:

答案 0 :(得分:0)

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

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

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