2017-05-02 10 views
3

In Laravel 5.4 kommen standardmäßig Mix und BrowserSync. Ich möchte, dass mein Browser mit neuen Änderungen aktualisiert wird, wenn ich irgendwelche *.blade.php Dateien von resources/views ändere. In meinem webpack.mix.js Ich habe diese Konfiguration bekam:Laravel 5.4 Watch Blade-Dateien mit browserSync

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', 
    }); 

I dont‘wissen, ob ich recht tue, oder vielleicht muss ich Mix Konfiguration einrichten oder so. Jede Hilfe würde sehr geschätzt werden.

Antwort

2

Aber die Vermögenswerte in /public nachladen ok?

Wie auch immer, ich denke, dass Sie die zu betrachtenden Dateien nicht angeben müssen, da dies die Standardeinstellung ist. Meine Config ist nur

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

Allerdings, wenn Sie das Stück der Config ändern müssen, um (für den benutzerdefinierten Rückruf), die files Option sollte ein Array sein (das braucht beide Strings und Objekte):

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 
}); 
1

Nur für jedermann noch fragen, scheint dies auf Laravel 5.5 (Entwicklungszweig) zu arbeiten:

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