2

webkitAudioContextGoogle Closure JavaScript を使用して作成したアプリケーションで、Webkit ブラウザーにネイティブなコンストラクターを使用します。

ADVANCED モードで Plovr を使用して JavaScript をコンパイルした後decodeAudioData、オブジェクトのメソッドのwebkitAudioContext名前が難読化された用語 に変更されていることがわかりましたc。簡潔に言うと、

コンパイル前:

var myAudioContext = new webkitAudioContext();
myAudioContext.decodeAudioData(fileData, myCallBackFunction);

コンパイル後:

(new webkitAudioContext).c(a,b);

Closure JavaScript コンパイラに webkitAudioContext のメソッド名を難読化しないように指示するにはどうすればよいですか? 電話してみた

goog.exportSymbol('webkitAudioContext.prototype.decodeAudioData', webkitAudioContext.prototype.decodeAudioData);

無駄に。

4

1 に答える 1

3

Felix Klingがコメントで述べたように、externsファイルは、外部で定義されたシンボルの名前変更を防ぐために使用されます。Closure Compiler のソース コードには、次のディレクトリの下に externs ファイルがあります。

トランク
 |-- externs
 |-- contrib
      |-- externs

externs ファイルcontrib/externs/ w3c_audio.jsにはwebkitAudioContext.

plovr externs設定オプションを参照してください。

于 2012-09-04T02:52:37.213 に答える