3

brunchがjavascriptファイルを処理し、それらを個々の出力ファイルに結合する方法を理解しています。

  files:
    javascripts:
      joinTo:
        'javascripts/app.js': /^app/
        'javascripts/vendor.js': /^vendor/
        'test/javascripts/test.js': /^test(\/|\\)(?!vendor)/
        'test/javascripts/test-vendor.js': /^test(\/|\\)(?=vendor)/

たとえば、2行目は、/ vendor /フォルダー内のすべてのjavascriptファイルを取得し、vendor.jsを作成します。

正規表現(/ ^ vendor /)は、フォルダパスを正しく指定していますか?正規表現をファイル名にも適用する方法はありますか?たとえば、jquery.jsとjquery.min.jsがあった場合、jquery.jsファイルを含めるだけです。これは可能ですか?

4

3 に答える 3

5

関数を使用して、パスに対してテストできます。それらを使用すると、ものは単純でなければなりません:

joinTo:
  'javascripts/vendor.js': (path) ->
    /^vendor/.test(path) and not /\.min\.js$/.test(path)
于 2013-03-28T03:25:03.453 に答える
2

無視するパスを指定できます。正規表現は、ファイル名を含むファイルの完全なパスと一致する必要があります。

paths:
  public: '../deploy'
  ignored: 'vendor/styles/bootstrap'
  test: 'spec'

無視されるキー:文字列、正規表現、関数、またはそれらの配列。ブランチコンパイラによって無視されるファイルをチェックします。

しかし、Amberlampsが提案したように、ファイル内の*.min.jsファイルを除外するように正規表現を指定できます。

PS:テストしたことはありませんが、どこかのドキュメント/_spec\.\w+$/でuser_spec.jsに一致すると記載されています。

于 2013-03-27T15:57:31.853 に答える
1

私はこれまでブランチを使用したことがありませんが、RegExpを使用して特定のパスを検索している場合は、次を使用して*.min.jsファイルを除外できます。

/^((?!vendor\/.*\.min\.js).)*$/

参照として次の回答を使用しました:単語を含まない文字列に一致する正規表現?

于 2013-03-27T12:51:00.697 に答える