bootstrap.js
にLaravel Echoを指定しないと、アプリケーションが正常に動作します。Laravel Echoがポストルートを失敗させる
composer.json
"require": {
"laravel/framework": "5.4.*",
"pusher/pusher-php-server": "~2.6",
},
package.json
"dependencies": {
"laravel-echo": "^1.3.2",
"pusher-js": "^4.1.0",
}
bootstrap.js
import Echo from 'laravel-echo';
window.Pusher = require('pusher-js');
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'app-key',
cluster: 'eu',
encrypted: true
});
broadcasting.php
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => 'eu',
'encrypted' => true
],
],
私は自分のlocalhost上にあり、複数のチュートリアルやさまざまなバリエーションを試してみましたが、問題を解決したことはありません。アプリケーションはすべてのget apiルートを正しくロードしますが、ログインしようとすると500エラーが発生します。
影響を受ける場合は、Vue & VueRouterも使用しています。
EDIT
何かがaxiosで送らCsrfTokenに干渉しているようです。私は私のbootstrap.jsファイルを再配置した場合、エコーはaxios前に輸入されるように:
import Echo from 'laravel-echo';
etc.
window.axios = require('axios');
ルートは、私が提出した場合、私は(axiosポスト経路を介してそれらを送信したときが、私はすべてのイベントを聞くことができません完璧に動作ポストArtisanのコンソールコマンドでイベントが正常に動作し、応答を聞いてコンソールに出力できます)。
コンストラクタイベントでI dd('test')
の場合、ポストルートはtest
を出力します。 broadcastOnメソッド内のdd('test')
の場合、ポストルートはこの関数にヒットしません。
は、このいずれかを試してみてください'config> app.php'ファイルを開き、.ENVファイルにPUSHER_APP_ID、PUSHER_APP_KEY、およびPUSHER_APP_SECRETを指定しましたか? –
私は既にコメントを解除しています。コンソールコマンドを使ってイベントが正常に機能するので、 '.env'ファイルが正しく設定されています。 – Imagine17
次のステップは、Pusherでクラスタ情報をチェックアウトすることです。私の場合、 'eu'ではなく' mt1'です。プッシャーダッシュボードでクラスター情報を見つけることができます。 –