0

答案在问题下方:

也许我不完全理解整个 RequireJS 的事情,但这是我的问题:

我有一组这样的文件:

    • sub1.js
    • sub2.js
  • main.js

在 中的所有文件中sub,我使用该define()函数来定义模块。在 中main.js,我使用该require()功能加载所有模块。所有这些都有效。

现在,当我在 上运行优化器 ( r.js) 时main.js,它只会获取所有文件的内容并将其放入一个文件中。是的,然后我可以使用这个优化的文件来执行与我可以对多个文件执行的操作相同的操作。

一切都好,没有错误。

现在我的问题是:在那个优化的文件中,它仍然使用RequireJS. 我可以将它优化到它不使用RequireJS的地方,它只是将功能放在一起的地方吗?

回答

您只能通过将包含选项设置为“requireLib”来将 RequireJS 包含到优化文件中。

4

2 回答 2

1

不,你不能。的重点r.js是将位于多个文件中的所有依赖项编译为一个。所以即使编译后模块仍然是 AMD 模块,但现在不需要单独加载它们。而且这些模块仍然需要一个 AMD 加载程序才能工作。编译后唯一能做的就是使用像Almond这样更轻量级的loader

于 2013-08-04T14:23:28.403 回答
1

您是否尝试使用 data-main + require.js 在脚本标签中加载文件?或者,您是否正在尝试渲染文件以便根本不再使用 RequireJS?我怀疑是后者,这是不可能的。如果是前者,可以通过构建文件选项捆绑 Require 来实现:http: //youtu.be/m6VNhqKDM4E?t= 12m44s

于 2013-08-05T15:49:13.127 回答