2017-05-02 9 views
3

laravelでは、デフォルトでは、mixとbrowserSyncが来ています。 *.blade.phpのファイルをresources/viewsに変更すると、ブラウザに新しい変更が反映されます。私のwebpack.mix.jsでは、私はこの構成持っている:「私はいけないbrowserSyncでLaravel 5.4監視ブレードファイル

const { mix } = require('laravel-mix'); 

mix 
    .js('resources/assets/js/app.js', 'public/js') 
    .sass('resources/assets/sass/app.scss', 'public/css') 
    .browserSync({ 
     proxy:'localhost', 
     port:8000, 
     files: { 
      match: [ 
       "resources/views/**/*.blade.php", 
       "public/css/*.css", 
       "public/js/*.js", 
      ], 
      fn: function (event, file) { 
       /** Custom event handler **/ 
      }, 
      options: { 
       ignored: [ 
        '*.txt', 
        '*.json' 
       ] 
      } 
     }, 
     logPrefix:'L54', 
    }); 

を私が右やっているかどうかを知り、または多分私はミックスの設定かそこらを設定する必要があります。どんな助けでも大歓迎です。

答えて

2

ただし、/publicのアセットは大丈夫ですか?

とにかく、デフォルトであるので、見るファイルを指定する必要はありません。

browserSync({ 
    files: [       // 'files' array 
    "wp-content/themes/**/*.css",  // 1st element 
    {         // 2nd element 
     match: ["wp-content/themes/**/*.php"], 
     fn: function (event, file) { 
      /** Custom event handler **/ 
     } 
    }         // end 2nd element 
    ]         // end 'files' array 
}); 
:私の設定では、(カスタムコールバック用)設定のその部分を変更する必要がない場合は、 filesオプションは、アレイ(つまり、文字列やオブジェクトの両方をとる)でなければなりませんが、単に

mix.browserSync({ 
    proxy: 'theapp.dev' 
}); 

です

1

だけで、誰もがまだ不思議のために、これはLaravel 5.5(開発ブランチ)上で動作するようです:

mix.browserSync({ 
    proxy: 'https://www.site.example', 
    files: [ 
     './resources/views/**/*.blade.php', 
    ] 
})