2

複数のファイルに対して単一のコマンド (jshint) を実行しようとしています。私のpackage.jsonには含まれています

"lint": "jshint *.js **/*.js"

ただし、これは Windows では惨めに失敗します。Windows では、複数のファイルを反復する構文は次のとおりです。

 for %%f in (*.in) do (
            echo %%~nf
    )

複数のファイルで単一の npm スクリプト (jshint など) を実行する、プラットフォームに依存しない簡単な方法はありますか?

(私は一般的な解決策に興味があります。複数のファイルをサポートするjshintの代わりにnode-jslintを使用するための参照がここにあります...しかし、IMO jshint >> jslint)。

4

2 に答える 2

0

私の知る限り、クロスプラットフォームの方法でシェルをループすることはできません。

ただし、https://github.com/substack/catwを使用して、次のようなことを行うことができます。

catw "**/*.js" | jshint - 

catwシェルに依存せずにグロブ自体を展開し、ファイルを標準出力に書き込みます。jshint -標準入力から読み取ります。パイプ ( |) はクロスプラットフォームで動作します。

于 2016-12-31T14:42:52.543 に答える