6

我有一组带有构造函数即函数的命名 requirejs 模块。

define('myModule', [ 'import1', 'import2' ], function(i1, i2) {
    ...
});

我希望能够

  • 以正确的顺序将模块附加到 HTML不通过脚本标签使用requirejs API
  • 使用requirejs API附加和使用模块

现在,然后我附加一个脚本并define调用一个文档,脚本已成功加载,但模块没有被定义,构造函数没有被调用。

这是正常行为吗?有一些解决方法来解决这个问题吗?

4

1 回答 1

6

脚本已成功加载,但未调用构造函数。这是正常行为吗?

是的。它们仅在需要时执行,define可能会重命名为register. 无论如何,它可能还需要等待它的依赖项。

有一些解决方法来解决这个问题吗?

如果你想执行它,只需require()调用它(虽然不在同一个文件中)。

我有一些遗留代码,它们对模块一无所知,而是依赖于文件附件。

虽然脚本附件确实成功加载了它们(同步!),但它们将异步执行。您最好也将遗留代码包装在requires 中(这不应该破坏任何东西)。

于 2013-07-06T16:42:58.373 回答