【问题标题】:How to get a laravel 5.3 app to autoreload when SASS/JS changes如何在 SASS/JS 更改时让 laravel 5.3 应用程序自动重新加载
【发布时间】:2017-03-13 21:28:08
【问题描述】:

想要在我更改 SASS 或 Javascript 时自动重新加载页面,但不确定如何在 laravel 5.3 中使用 WebPack 来实现。我听说过热模块更换,但似乎真的很复杂,有没有办法可以将它集成到我的 gulpfile 中。

Gulp 文件:

const elixir = require('laravel-elixir');

require('laravel-elixir-vue-2');

/*
 |--------------------------------------------------------------------------
 | Elixir Asset Management
 |--------------------------------------------------------------------------
 |
 | Elixir provides a clean, fluent API for defining some basic Gulp tasks
 | for your Laravel application. By default, we are compiling the Sass
 | file for your application as well as publishing vendor resources.
 |
 */

elixir((mix) => {
    mix.sass('app.scss')
       .webpack('app.js');
});

编辑(已尝试 BrowserSync 但未更新)

const elixir = require('laravel-elixir');

require('laravel-elixir-vue-2');
var BrowserSync = require('laravel-elixir-browsersync-official');

/*
 |--------------------------------------------------------------------------
 | Elixir Asset Management
 |--------------------------------------------------------------------------
 |
 | Elixir provides a clean, fluent API for defining some basic Gulp tasks
 | for your Laravel application. By default, we are compiling the Sass
 | file for your application as well as publishing vendor resources.
 |
 */

elixir((mix) => {
    mix.sass('app.scss')
       .webpack('app.js')
       .browserSync({
             port: 8000,
             proxy: 'localhost'
        });
});

【问题讨论】:

    标签: javascript php laravel sass webpack


    【解决方案1】:

    你可以使用browserSync之类的东西。

    安装browserSync运行:

    npm install laravel-elixir-browsersync-official --save
    

    然后在您的gulpfile 中添加:

    .browserSync({
        proxy: 'app.dev',
    })
    

    (将app.dev 更改为您的实际应用网址)

    然后当您运行gulp watch 时,浏览器应该会在检测到更改时自动重新加载。

    希望这会有所帮助!

    【讨论】:

    • 认为这已经包含在5.3 中,对吧?不信需要安装,可以在gulpfile中加browserSync({...})Docs
    • @camelCase 不,它不是开箱即用的。然而,它会给你一些错误信息和你需要安装它的代码:)
    • 您好,感谢您的帮助,我尝试实现 browserSync 但无法使其正常工作是我的 gulpfile 有问题(检查编辑)
    • @user3818418 只是为了仔细检查,要访问您的应用程序的主页,您只需调用localhost?此外,除非您已经在端口 3000 上运行了一个进程,否则我会将其保留为默认值。
    • 啊,是的,抱歉,愚蠢的错误代表我拿走了那条线。我在 8000 端口上运行,所以我将把端口线留在那里。
    猜你喜欢
    • 1970-01-01
    • 2013-04-27
    • 2018-06-13
    • 2014-06-17
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多