私はプロジェクトでLaravel 5.4を使用しており、Mixを使用してフロントエンドビルドシステムをセットアップしようとしています。ドキュメンテーション上で。
誰か助けてください、どうすればそれを達成できますか?
前に言ったことを忘れて、今laravel= mixが更新され、機能とドキュメントがいくつか改善されました。
今、あなたは簡単にすることができます:
_mix.browserSync('my-domain.dev');
// Or:
mix.browserSync({
proxy: 'my-domain.dev'
})
_
そして、_npm run watch
_で、準備完了です!
webpackバージョンを更新する場合は、package.jsonのバージョンを*に変更します。
_"laravel-mix": "*",
_
_npm update laravel-mix
_を実行します。
ミックスの更新されたドキュメントを確認してください github
ドキュメントによると、プロジェクトで_npm run hot
_を実行するだけで、スクリプトまたはスタイルシートリファレンスで次を使用します。
<link rel="stylesheet" href="{{ mix('css/app.css') }}">
mix()
関数は、アセットのURLを_http://localhost:8080/
_にポイントします。
buuuuuuuut ... here を見るとわかるように、それはまさにドキュメントに書かれていることです。 Arch Linuxを実行しているlaravelフレッシュインストール、すべてが正常にコンパイルされ、mix()
関数が_8080
_を指しているが、何も指していません。注入され、私は_Ctrl+R
_時代に戻っています。
もっと幸運を祈ります!
browser-sync
を引き続き使用できます。 Laravel 5.4はwebpackに同梱されており、プラグインがあります:browser-sync-webpack-plugin
。
browser-sync
のものをインストールします。
npm install --save-dev browser-sync browser-sync-webpack-plugin
webpack.mix.js
に追加します。
const BrowserSyncPlugin = require('browser-sync-webpack-plugin');
mix.webpackConfig({
plugins: [
new BrowserSyncPlugin({
files: [
'app/**/*',
'public/**/*',
'resources/views/**/*',
'routes/**/*'
]
})
]
});
ページの一番下の</body>
の直前にこのスニペットを追加します。
@if (getenv('APP_ENV') === 'local')
<script id="__bs_script__">//<![CDATA[
document.write("<script async src='http://Host:3000/browser-sync/browser-sync-client.js?v=2.18.6'><\/script>".replace("Host", location.hostname));
//]]>
</script>
@endif
Laravelおよびwebpack-dev-server:
php artisan serve & npm run watch
私のプロジェクトでは、次のことを行います。
1)install chromeブラウザ拡張機能Livereload https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei
2)livereloadをグローバルにインストール(CLI経由):
npm install -g livereload
またはプロジェクトフォルダー内でローカルに(CLI経由):
npm install livereload
3)このスニペットをlayout.blade.phpまたは別のテンプレートに配置します。
<script>
document.write('<script src="http://' + (location.Host || 'localhost').split(':')[0] +
':35729/livereload.js?snipver=1"></' + 'script>')
</script>
4)プロジェクトフォルダーでlivereloadを実行します(CLI経由):
livereload
それでおしまい!
はい、私は同じ問題を抱えています。エリクサーに固執するのは、githubを見ると完全に混乱しているからです。ブートストラップからのフォントのロードには問題があり、メソッドストリームの結合には問題があり、詳細を説明することすらできないほど多くの問題があります。それはあまりにも新しく、すべての問題を修正しませんでした。
これに関する私の2セントは、もしあなたが何か新しいものにアップグレードしようとしているなら、エリクサーでうまくいったものがすべて箱に入っていることを確認してください。
誰かがそれを機能させるために別の方法が必要な場合、たとえばバックエンドでミックスが使用されていない場合、私はそれをどのように解決したのですか:
編集server.phpプロジェクトのルートディレクトリからreturn 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
Laravel> = 5.4およびLaravel.mix https://komelin.com/articles/configuring-webpack-livereload-laravelmix でWebpack LiveReloadを動作させる方法は次のとおりです。