2012-11-01 7 views
21

私は2年前に開始したウェブサイトを終了しました。私はいつも、新しいフレームワークや他の外部JSファイルを追加するなど、新しいことを試みていました。リンクされたファイルと使用されていないファイルと未使用のJavaScriptを検出

JSのリンクされたファイル/ラインのどれが未使用か分かりません。これらのファイルとコード行を検出できるツールはありますか?それは私に多くの時間を節約します。

+1

CSSの場合、Google Chromeのウェブキット開発ツールには未使用のスタイルが表示されます。 javascriptについては私も答えを待っています –

+0

@BrunoVieira OPは未使用のスタイルについては尋ねていませんが、ディレクトリツリーにある未使用のjavascriptファイルはまだこのページから参照されていません。また、扱うページは複数ありますが、アプリ全体があります。 –

+3

だから、私は答えなかったのですが、誰かのために彼のためではないなら、それは役に立つかもしれないので、むしろコメントしました@AleksG –

答えて

12

This回答ありGoogle's Closure CompilerGoogle's Closure Compiler JavaScriptコードを細分化して連結する過程で、「デッドコード」を削除することができます。コンパイルレベルのthe documentationを引用

:ADVANCED_OPTIMIZATIONSと

コンパイルは証明可能到達できないコードを除去します。これは、大きなライブラリと組み合わせて特に便利です。大きなライブラリファイルからいくつかの関数しか使用しない場合、コンパイラはそれらの関数以外のすべてをその出力から削除できます。

this answerも参照してください。このセクションには、Googleのクロージャコンパイラに関する詳細が含まれています。

+0

ちょっと、ちょっと!リンクありがとう。私はまだドキュメンテーションを読む時間がなく、最初の "汚い"試みは本当に混乱していました...私は日曜日にそれを試してみます... –

+0

あなたの編集のためにありがとう: –

+0

@dTDesign you歓迎します。うまくいけばすべてが動いています。 – Whymarrh

0

この回答では、有用かどうかはわかりません。ソナーを試してみてはいかがですか?ソナーには、jsコードの品質をチェックし、未使用のコードを一覧表示できるjavascriptプラグインがあります。

私は過去数週間のために同様のタスクで自分を見てきた
+0

私はこのhttp://www.jslint.com/lint.htmlについて話している人を見つけました。 – OQJF

+0

あなたの答えをありがとう。私はまた、この質問を見つけました。しかし、それは次のようなコード品質を探します:それは最新の標準であり、コメントはどれくらいですか...問題は、未使用のコードを分析しますが、使用しているかどうかを表示しません... –

0

と、次のpowershellのクエリになってしまった:

PS> Get-ChildItem -Path C:\PathToProject\ -Filter *.as?x -Recurse 
| select-string -pattern "src=""([^""]*.js)""" 
| Select -Expand Matches | Foreach { $_.Groups[1].Value } | select -unique 

まずそれが再帰的に我々のプロジェクトのディレクトリ内のすべての.aspxとた.ascxファイルを選択し、 .jsファイル(おそらくスクリプト要素のもの)を参照し、別個の値をトレースする属性値を見つけてsrcを見つけます。 - あなたのプロジェクトで参照されている.jsファイルのリストがあります。

特定のプロジェクトとその構造に合うようにクエリを調整するのはかなり簡単です。不要な参照が含まれている可能性のある古いファイルを繰り返し処理しないように注意してください。マークアップdiscreptanciesのアカウント - あなたは過去の属性値のための単一引用符を使用したか、または "等号"シンボルのまわりの不要な空白を残すことができましたか?これらのファイルを別のjsファイルの中からプログラム的にまたは非同期的に組み込むことができますか?

+0

ちょっと!はい。複雑に見えます。私は日曜日にそれを試してみる...私は報告するよ –

2

私は、ソースからだけでなく、ブラウザ側で未使用のJSを検出するツールを作成したので、サードパーティのスクリプトもテストできます。

これは、JavaScriptリクエストをインターセプトし、これらのファイルをオンザフライで計測するローカルプロキシをコンピュータに作成することによって機能します。このツールは、インストルメントされたファイルのどの部分がページによって使用されたかを検出することができません。

私はそれをオープンソースにしました。ここにはhttps://github.com/gmetais/unusedjsがあります。

関連する問題