1

Closure Compiler は、選択したタイプの警告をエラーに昇格するように構成できます。これは、開発チームが JS をより厳しい基準に合わせたい場合に役立ちます。ただし、依存している多くのライブラリ (RequireJS など) がそれほど厳密ではないという問題に直面しています。だから私はこれを行うとき:

java -jar compiler.jar --js input.js
                       --compilation_level ADVANCED_COMPILATION 
                       --externs require.js
                       --jscomp_error=missingProperties

RequireJS でプロパティが見つからないというエラーが発生すると、ビルドが失敗します。もちろん、エラーのエスカレーションがなければ、ビルドは成功します。

Require の場合、パブリック シンボルが非常に少ないため、本物を使用する代わりに偽の externs ファイルを作成するのは簡単です。しかし、それはスケーリングしません。私たちは、個別の externs コントラクトを維持する必要がある無数の他のライブラリを使用しています。

2 つの解決策が考えられますが、どちらも実行するのに十分な情報がありません。(1) Closure を取得して、externs の通常の警告構成にフォールバックします。または(2)特定のライブラリのexternsコントラクトを確実に/一貫して抽出できるツールを使用します。または私が考えていない他の解決策。

4

1 に答える 1

2

元のソースを使用するのではなく、extern ファイルを作成したい。元のソースの使用は、非常に単純なライブラリでのみ機能します。extern を抽出するツールがいくつかあることは知っていますが、それらは型情報を提供しません。一般的に、ライブラリのメンテナに何かを依頼し、Closure Compiler メーリング リストに依頼してから、自分で何かを構築 (および共有) します。

于 2012-10-30T15:11:00.717 に答える