2014-01-14 3 views
7

私はjQueryプラグインとGoogle Closure Compilerを使用しています。問題は、そのプラグインのURLをコンパイルに追加すると、プラグインにバグがあり、コンパイルが失敗するということです。だから私はそのプラグインのexternを作成したい。基本的には、ライブラリ全体から1つのオブジェクトと2つのメソッドしか使用していません。このような何か:クロージャコンパイラexternを作成する

var TheObject = $.plugin({...}); 

var SomeVar = TheObject.someName.otherName(SomeString, { 

     prop1: [...], 

     onError: function() {...} 

}); 

TheObject.SomeMethod(); 

私は、Googleのウェブサイト上のドキュメントを見て、それが混乱「何-それは、ある」視点と私はシンプル「ハウツー」方法について視点を必要とするから書かれていますこれをする。私が持っているものの外出を作るためには、私は何をする必要がありますか?

ありがとうございました。ここで

答えて

2

私はしばらくの間、この問題を解消するのに苦労してきました。私は、クロージャコンパイラでコード内で使用したいプラグインを持っている他の人のための実用的なソリューションを考え出しました。

var TheObject = $['plugin']({...}); 

var SomeVar = TheObject['someName']['otherName'](SomeString, { 

     'prop1': [...], 

     'onError': function() {...} 
}); 

TheObject['SomeMethod'](); 

皆のために働くが、これは私のために働いたと私にはexternを書くの面で手間の多くを保存しない可能性があることます。externをやって、ちょうどこのような文字列を、使用しています。私はオンラインの文書が非常に混乱していることを発見しました。物事を説明する技術者によって書かれたものですが、今はそれらをどのように使うか、あるいは教授的な色調で書かれています。この回答が他の人に役立つことを願っています。

+0

配列形式の表記法は、コンパイルするためにそれを取得しますが、externsファイルを使用するのと同じ程度まで縮小しません。 externsファイルを作るのはそれほど難しいことではありません。例が必要な場合は、[プロジェクトに含まれるいくつかのexterns](https://code.google.com/p/closure-compiler/source/browse/#git%2Fcontrib%2Fexterns%253Fstate%253Dclosed)をチェックしてください。 –

+0

@netinept:あなたが何を意味しているのか理解していますが、私が取ったアプローチはうまく機能しています。本質的に3行のコードしかないので、コードで、このサンプルプラグインのexternを書く方法を教えてください。 – frenchie

+0

@frenchie 2014年にこの問題を抱えていますが、これがまだ最高の解決策であるのか、何か良いものが見つかったのかどうか疑問に思っていましたか?ありがとう。 – dtgq

10

あなたが行く:

私は外部宣言を作成する上でシリーズを終了する時間がありませんでした。これがあなたのプロジェクトにとって十分でない場合は、そのトピックを再訪します。

+0

ありがとうチャド、あなたは間違いなく閉鎖コンパイラのために行く人です!私は1〜2日でプロジェクトのこの部分に着き、これがどのようになっているかを教えてくれるでしょう。 – frenchie

+0

@Chad、既存の完全なfledgeスクリプトからexternファイルを生成するコンパイラやその他のツールを実行する方法はありますか? –

+0

@AlexisWilke [こちらのFAQ](https://github.com/google/closure-compiler/wiki/FAQ#how-do-i-write-an-externs-file) //blog.dotnetwise.com/2009/11/closure-compiler-externs-extractor.html)および[ここに公開](http://www.dotnetwise.com/Code/Externs/index.html) externファイル)。 – ChrisW

関連する問題