Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5.4-混合-如何运行浏览器实时重新加载_Laravel_Laravel Mix_Laravel Elixir - Fatal编程技术网

Laravel 5.4-混合-如何运行浏览器实时重新加载

Laravel 5.4-混合-如何运行浏览器实时重新加载,laravel,laravel-mix,laravel-elixir,Laravel,Laravel Mix,Laravel Elixir,我在我的项目中使用了Laravel5.4,并尝试使用Mix建立前端构建系统。一切正常,但我无法获得浏览器自动重新加载选项。文档中没有关于它的内容 有人请帮忙,我怎样才能做到 重要更新! 忘了我之前说过的,现在laravel mix已经更新,并且在功能和文档方面做了一些改进 现在,您可以简单地执行以下操作: mix.browserSync('my-domain.dev'); // Or: mix.browserSync({ proxy: 'my-domain.dev' }) 然后np

我在我的项目中使用了Laravel5.4,并尝试使用Mix建立前端构建系统。一切正常,但我无法获得浏览器自动重新加载选项。文档中没有关于它的内容

有人请帮忙,我怎样才能做到

重要更新! 忘了我之前说过的,现在laravel mix已经更新,并且在功能和文档方面做了一些改进

现在,您可以简单地执行以下操作:

mix.browserSync('my-domain.dev');

// Or:

mix.browserSync({
    proxy: 'my-domain.dev'
})
然后
npm运行watch
,您就可以开始了

如果要更新网页包版本,请将package.json上的版本更改为*:

"laravel-mix": "*",
然后运行
npm update laravel mix

请查看最新文档

重要更新结束 根据文档,您只需在项目上运行
npm run hot
,并在脚本或样式表参考中使用:

因此,
mix()
函数将把您的资产url指向
http://localhost:8080/

布乌乌特。。。正如您所看到的,这正是文档所说的。我无法让它在运行arch linux的laravel fresh安装上工作,一切都按它应该的方式编译,
mix()
函数指向
8080
,但没有注入任何内容,我又回到了
Ctrl+R
时代


希望你有更多的运气

是的,我也遇到过同样的问题,我会说坚持使用长生不老药,因为如果你看看github,它完全是一团糟。从引导加载字体时会出现问题,组合方法流时会出现问题,甚至有太多问题无法深入讨论。这太新了,他们没有解决所有的问题


我在这方面的2美分是,如果你打算升级到新的东西,至少要确保elixir out the box上的任何东西都是混合的。

你仍然可以使用
浏览器同步。
Laravel 5.4随webpack一起提供,它有一个插件:
浏览器同步webpack插件

  • 安装
    浏览器同步
    的内容:

    npm安装--保存开发人员浏览器同步浏览器同步网页包插件

  • 添加到
    webpack.mix.js

  • const-BrowserSyncPlugin=require('browser-sync-webpack-plugin');
    mix.webpackConfig({
    插件:[
    新浏览器同步插件({
    档案:[
    “app/***”,
    “public/***”,
    “资源/视图/***”,
    “路由/***”
    ]
    })
    ]
    });
    
  • 将此代码段添加到页面底部的
    之前:

    @if(getenv('APP_ENV')='local')
    //
    @恩迪夫
    
  • 同时启动Laravel和webpack开发服务器:

    php artisan serve&npm run watch


  • 如果有人需要另一种方法使其工作,例如,如果在后端未使用mix,以下是我解决该问题的方法:

    从项目根目录编辑server.php,并替换
    返回false

    if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
        return false;
    }
    
    详情如下:

    if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    
        // set log file for debugging purposes if needed
        #ini_set('error_log', __DIR__ . '/storage/logs/laravel.log');
    
        header("HTTP/1.1 301 Moved Permanently");
        header("Location: http://localhost:8080" . $uri);
    
        exit();
    }
    

    当然,您需要同时启动
    artisan serve
    npm run hot

    对于我的项目,我下一步要做:

    1) 安装chrome浏览器扩展Livereload

    2) 全局安装livereload(通过CLI):

    或在项目文件夹中本地(通过CLI):

    3) 将此代码段放在layout.blade.php或其他模板中:

    <script>
       document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] +
            ':35729/livereload.js?snipver=1"></' + 'script>')
    </script>
    
    5) 在Chrome浏览器中按livereload按钮


    就这样

    在这一点上,我同意你的观点,来自人力资源管理网站本身:“请注意,热模块更换(HMR)仍然是一项实验性功能。”,“它是实验性的,没有经过彻底测试。”“预计会有一些bug”“理论上可以在生产中使用,但现在使用它来处理一些严重的问题可能还为时过早。”“你仍然可以使用
    浏览器同步
    。Laravel 5.4随网页包一起提供,并且有一个插件:
    浏览器同步网页包插件
    。请看我的答案。selim-mahmud(无法标记您)和@jayswager,请看我的更新,现在一切正常。:)遵循标准的laravel文档并运行
    npm update laravel mix
    对我来说很有效,谢谢+1在触动assets/js中的文件后,如何重新编译或触发gulp(elixir)?我可以把这个配置放在我的gulpfile上吗?
    npm install -g livereload
    
    npm install livereload
    
    <script>
       document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] +
            ':35729/livereload.js?snipver=1"></' + 'script>')
    </script>
    
    livereload