Javascript 从Firebug/Chrome控制台与require.js模块交互?

Javascript 从Firebug/Chrome控制台与require.js模块交互?,javascript,firebug,google-chrome-devtools,requirejs,Javascript,Firebug,Google Chrome Devtools,Requirejs,我刚刚开始使用require.js。我已经成功地包装了jquery、一些插件和我自己的几个模块。我试图从Firebug(或Google Chrome的JS控制台)与我的模块(或jquery)进行交互,但我运气不太好 从控制台访问这些模块的正确方法是什么?假设我们有module/app/scripts/methodsModule.js,它返回一些方法: define({ someMethod: function() { // do stuff }, anot

我刚刚开始使用require.js。我已经成功地包装了jquery、一些插件和我自己的几个模块。我试图从Firebug(或Google Chrome的JS控制台)与我的模块(或jquery)进行交互,但我运气不太好


从控制台访问这些模块的正确方法是什么?

假设我们有module/app/scripts/methodsModule.js,它返回一些方法:

define({
    someMethod: function() {
        // do stuff
    },
    anotherMethod: function() {
        // do some more stuff
    }
});
在我们的数据主文件/app/scripts/main.js中,我们有:

require(['methodsModule'], function(methods) {
    methods.someMethod() // call someMethod
    methods.anotherMethod() // call anotherMethod
})
一旦requireJS加载了data main,我们就可以从javascript控制台命令行访问requireJS已经加载的任何模块,如下所示:

>> methods = require('methodsModule'); // requireJS has module methodsModule stored
>> methods.someMethod() // call someMethod
>> methods.anotherMethod() // call anotherMethod
如果模块没有通过调用require()或define()加载,则我们必须在加载模块后传递自己的回调函数以调用require函数:

>> myCB = function(methods) { methods.someMethod() }
>> require(['methodsModule'], myCB)

否则,requireJS会抛出一个错误,指出模块尚未加载。

有一种方法不使用回调

如果您以前在console或应用程序中不需要该模块,您可以先需要它:

require(['methodsModule']);
之后,您可以使用“动态”命令访问它:

require('methodsModule').someMethod();

这是否适用于requireJS“优化”脚本?也许我在这里做错了什么,但它似乎对我不起作用。截至2015年5月20日仍然有效。在将“原始”项目转换为AMD时,我需要确保一切正常。但是,在执行define之后,我找不到返回的模块对象的位置。很好的解释。这比我尝试的要简单得多,
+0.1E1
。不过,我更喜欢将模块加载到窗口中,以便于访问<代码>要求([m='lib/imagesloaded']);imagesLoaded=需要(m)