Minispadeフィルターは、各ファイルのコードをクロージャー内にラップします。これで、グローバルに公開されるはずのファイルで定義されたオブジェクトの場合、クロージャーにラップされるため、グローバルではなくなります。
では、メインのアプリファイルの別のファイルで定義されたオブジェクトを実際にどのように要求するのでしょうか。
これが私の例です。
私のファイルでは、test.js
var test = { sayHello: function(){alert('hello');} }
私のメインアプリファイルでは、次のことを行います。
require('todos/vendor/jquery-1.7.1');
require('todos/vendor/ember-0.9.5');
require('todos/vendor/test');
console.log(jQuery); // this logs the jQuery object
console.log(Ember); // this logs the Ember object
console.log(test); // this is undefined
test
メインアプリのjsファイル内のオブジェクトにアクセスするにはどうすればよいですか?test
ファイル内でオブジェクトを別の方法で定義する必要があるということですか?
アップデート:
削除することでオブジェクトをグローバル名前空間にリークできますが、var
それが推奨されるアプローチですか?