0

给定一个类似的配置

require.config({ shim: { main: ['one'], one: ['two'] });

和一个主模块

define('main', ['somethingThatUsesOneAndTwo'], function (s) {  });

是全局脚本onetwo保证在执行时已somethingThatUsesOneAndTwo执行?

我知道可以创建表达依赖的 shim 配置条目,somethingThatUsesOneAndTwoone即使two在几个大型复杂的项目中我也没有看到这种失败,所以我想知道它是否受支持。

4

1 回答 1

1

根据您在此处的内容,这将正常工作,但我认为这不是最佳实践。

这是有效的,因为您的 shim 需要 main 依赖oneone依赖two。当main尝试启动时two会运行,然后one会运行,最后somethingThatUsesOneAndTwo会运行。

然而,这根本不是很简单。例如,为什么您的主模块中 有一个 shimmain并在其中使用?define

如果somethingThatUsesOneAndTwo真的依赖onetwo那么你应该填充它以依赖于那些,以便如果它被导入另一个没有碰巧设置依赖关系的模块中,它将正常工作main

于 2013-11-08T17:41:42.090 回答