我正在为使用 RequireJS 的应用程序编写一些测试。由于应用程序的工作方式,它希望通过调用来获取一些类require
。所以,为了测试,我有一些虚拟类,但我不想为了这个测试而将它们放入单独的文件中。我更喜欢将define()
它们手动放在我的测试文件中,如下所示:
define('test/foo', function () {
return "foo";
});
define('test/bar', function () {
return "bar";
});
test("...", function () {
MyApp.load("test/foo"); // <-- internally, it calls require('test/foo')
});
这里的问题是这些模块的评估会延迟到触发脚本 onload 事件。
//Always save off evaluating the def call until the script onload handler. //This allows multiple modules to be in a file without prematurely //tracing dependencies, and allows for anonymous module support, //where the module name is not known until the script onload event //occurs. If no context, use the global queue, and get it processed //in the onscript load callback. (context ? context.defQueue : globalDefQueue).push([name, deps, callback]);
有什么方法可以手动触发要评估的队列吗?