1
utilities.js:
function log(message)
{
....
}

module1.js
YAHOO.util.Event.onDOMReady(function()
{
  log("module1 is loaded");
});

module2.js
YAHOO.util.Event.onDOMReady(function()
{
  log("module2 is loaded");
});

ページリクエストの場合、最初にutilities.jsをロードし、次にmodule1.jsとmodule2.jsをロードします

これらのファイルを難読化しようとすると、モジュール内の「log」への参照は、暗黙のグローバルであるため、難読化されません。

読みやすさとメンテナンスを向上させるために、モジュールファイルを別々に(同じページで提供されますが)保持したいと思います。また、utilities.jsの関数は他のページにも使用されます。

難読化を改善するために、これらのファイルをより適切に整理するにはどうすればよいですか?

4

2 に答える 2

0

コードを自己実行無名関数に配置します。

(function(){
    YAHOO.util.Event.onDOMReady(function() {
        log("module2 is loaded");
    });
})();

したがって、コードがグローバル関数を難読化する場合、変数は元の名前のままになります。

于 2012-04-24T12:48:34.803 に答える
0

私は個人的に RequireJS を使用するのが好きです: http://requirejs.org/

これはモジュールをロードするためのフレームワークであり、使用するコレクションまたはオブジェクトを返し、すべてのモジュールを個々のスコープに保持できます。

于 2012-04-24T12:53:33.257 に答える