Require.jsを始めたばかりです。私はjquery、いくつかのプラグイン、およびいくつかの独自のモジュールを正常にラップしました。 Firebug(またはGoogle ChromeのJSコンソール)から自分のモジュール(またはjquery)を操作しようとしていますが、あまりうまくいきません。
コンソールからこれらのモジュールにアクセスする正しい方法は何ですか?
いくつかのメソッドを返す/app/scripts/methodsModule.jsモジュールがあるとしましょう:
define({
someMethod: function() {
// do stuff
},
anotherMethod: function() {
// do some more stuff
}
});
Data-mainファイル/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は、モジュールがまだロードされていないことを示すエラーをスローします。
コールバックを使用しない方法があります。
以前にコンソールまたはアプリケーションでモジュールが必要なかった場合は、最初にそれを要求するだけです。
require(['methodsModule']);
その後、それにアクセスするために「動的」要求を使用できます。
require('methodsModule').someMethod();