Web Essentials 2013 でファイルを無視するように設定するにはどうすればよいですか? 質問する

Web Essentials 2013 でファイルを無視するように設定するにはどうすればよいですか? 質問する

VS 2013 (Update 1) に Web Essential 2013 (本日時点で最新) がインストールされた新しい MVC 5.1 Web アプリ プロジェクトがあります。プロジェクトをビルドした後、Web Essentials は JavaScript ファイルをスキャンし、問題が見つかった場合は出力ウィンドウにメッセージを表示します。新しい MVC 5.1 プロジェクトの場合、11,000 を超えるメッセージが生成されますが、あまり役に立ちません。

新しい MVC 5 プロジェクトにデフォルトで含まれている問題のある JavaScript ファイルを無視するために、次の 2 つの方法を試しました。

  1. Web Essentials > グローバル JSCS 設定の編集コマンドを使用して、ユーザー プロファイル ディレクトリの .jscs.json ファイルを開き、"excludeFiles" プロパティを ["test/data/.js", "スクリプト/jquery.js"] を参照してください。

  2. Scripts フォルダーに「jquery*.js」を含む .jshintignore ファイルを作成しました。

どちらの方法も、生成される JSCS メッセージには影響しません。何か間違ったことをしているのでしょうか、それとも Web Essentials の問題なのでしょうか?

ベストアンサー1

アップデート4:

最新の Web Essentials 2013 1.9 には「リント ランナーのロジックの無視が改善されました」があり、すべての問題が解決されています。これで、「ビルド時に実行」をオンにできます。共通の js ライブラリと縮小された js のデフォルトの無視ルールがあります。次のexcludeFiles構成はまだ機能しますが、もう必要ありません。

アップデート3:

私の投稿をクロスhttps://github.com/madskristensen/WebEssentials2013/issues/603

JSHint と JSCS の機能が必要ない場合は、「ツール - オプション - Web Essentials - JavaScript」に移動し、「ビルド時に実行」と「保存時に実行」を False に設定します。

これらを使用する場合は、「ビルド時に実行」を False のままにして、「保存時に実行」を True に設定します。プレビュー、オープン、保存中は、すべての js が JSHint および JSCS になります。この変更により、速度低下なしで正常にビルドできます。エラー リストには、現在開いている js の JSHint および JSCS 項目のみが表示されます。

デフォルト設定では、JSHint はすべての縮小された js ライブラリと一部の一般的な js ライブラリでは実行されませんが、JSCS は常に実行されます。JSCS では、縮小された js で数秒ほど遅延する場合があります。待ちたくない場合は、「Web Essentials - グローバル JSCS 設定の編集」に進んでください。変更

"excludeFiles": ["test/data/*.js"],

の中へ

"excludeFiles": ["**/*.min.js", "**/*.debug.js", "**/*.intellisense.js", "**/*-vsdoc.js"],

縮小されたjsでのみJSCSをスキップします。または、次のように変更します。

"excludeFiles": ["**"],

JSCS を完全に停止するには、JSHint のみを実行したままにします。

もちろん、不要なものを除外する独自のルールを記述することもできます。先頭に二重の星印を付け、'\' の代わりに '/' を使用し、他の部分ではワイルドカードとして単一の星印を使用します。例"**/Scripts/*.js": .

除外ルールを使用すると、各 js に対して xml 情報項目が生成されますが、これは後で修正される予定です (うまくいけば)。これでようやくコーディングを開始できます。

最後に、1.8.5 にアップグレードできますが、これは「ビルド時に実行」の実行を停止するだけです。「保存時に実行」には、これらの設定がまだ必要です。したがって、ここで述べたことは変わりません。

これらの情報が正しく、現在のバージョン 1.8 および 1.8.5 に役立つことを願っています。


アップデート1:

新しいバージョン 1.8.5 をインストールします。これにより、「ビルド時に実行」機能が停止します。つまり、この機能をオンにしても、ビルド時には実行されません。ただし、「保存時に実行 True」は、プレビュー、開く、保存時に実際に実行されます。excludeFiles の適切な相対パターンは です**/Script/**

したがって、縮小された js の推奨除外ルールは次のようになります。

    "excludeFiles": ["**/Scripts/**.min.js", "**/Scripts/**.debug.js", "**/Scripts/**.intellisense.js", "**/Scripts/**-vsdoc.js"],

または、**/Script/**すべてを除外するために使用します。

この<?xml問題は、次のバージョンで修正される予定だ。.min ファイルなどで JSHint/JSCS エラーが発生しますか?したがって、このパターンは最終的な正しいパターンになるはずですが、次の Web Essentials バージョンまでに修正されるはずの問題が 1 つあります。あるいは、次の WE で適切なデフォルトの excludeFiles ルールが提供されるかもしれません。


アップデート2:

もっと良い例:

"excludeFiles": ["**/*.min.js", "**/*.debug.js", "**/*.intellisense.js", "**/*-vsdoc.js"],

どこにあっても、縮小された js をすべて除外します。


私が見つけた簡単な方法は、「ツール - オプション - Web Essentials - JavaScript」に移動し、「ビルド/保存時に実行」を「False」に設定することです。

別の方法としては、「Web Essentials - グローバル JSCS 設定の編集」に移動して、excludeFiles を設定します。

ただし、複数の excludeFiles は間違った構文です。[ "a", "b"] 構文を使用する必要があります。

また、絶対パスを使用する必要があります (グローバルに設定する場合)。パス区切り文字として '/'、'\' は使用できません。

サブディレクトリは役に立たないので、すべてのパスを個別に指定する必要があります。

したがって、有効な設定は次のようになります。

"excludeFiles": ["C:/Solution/Project/Scripts/*", "C:/Solution/Project/Scripts/kendo/*"]

ただし、この方法では、js ファイルごとに別のビルド エラーが生成されます。

JSCS parse error: <?xml version="1.0" encoding="utf-8"?>
<checkstyle version="4.3">
</checkstyle>

js ファイルごとの情報項目:

<?xml version="1.0" encoding="utf-8"?>
<checkstyle version="4.3">
</checkstyle>

回避方法がわかりません。だから、おそらく最善の方法は、最初の簡単な方法だけです。

おすすめ記事