2016-09-29 4 views
1

GoogleのクロージャコンパイラでExtJS 6.2.0をコンパイルしようとしています。それは、アノテーションのこのタイプを認識しないようGoogleクローズコンパイラが型名を認識しない

* @param {Ext.data.TreeModel[]} records An array of records.

閉鎖エラーアウト:ExtJSのソースコードに次のような注釈があります。

extjs-6.2.0/build/ext-all-debug.js:248792: ERROR - Bad type annotation. expecting a variable name in a @param tag. See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information. 
    * @param {Ext.data.TreeModel[]} data.records An Array of Models representing the 

私は必ずしも設ける必要はURL内の溶液が表示されない:エラーは、次のようになります。 ExtJSには、コンパイラに問題があると思われるような豊富な種類もあります。

ここには些細な回避策がありますか?私はコンパイルから--jscomp_error checkTypesを取り除くことができましたが、私はむしろこれを適切な方法で行いたいと思います。

答えて

2

あなたが表示するアノテーションは、Googleクロージャコンパイラと互換性がありません。代わりに、それは私が注釈Ext.data.TreeModel[]はJSDocのと互換性があるため、彼らはJSDocのを使用している疑いがある

* @param {Array<Ext.data.TreeModel>} records An array of records. 

を書かされるだろう、 http://usejsdoc.org/tags-type.htmlを参照してください。

クロージャコンパイラはJSDoc構文ではじまっていますが、この2つはJSDoc構文では過去5年間に少しばらついています。クロージャコンパイラの注釈については、https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler(下部のタイプ式へのスクロール)を参照してください。

いくつかの注釈を変更して、クロージャーコンパイラと互換性を持たせることができます。しかし、このコードが従わないコンパイラのADVANCEDモードで使用されるコードの動作については、いくつかの前提があります。 a recent thread about a similar questionを参照してください。

+0

リンクしているスレッドが有効なリンクではないようです。 – randombits

+0

リンクが変更されました。今すぐ使用できます。 – owler

関連する問題