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