2017-05-12 67 views
0

Laravel 5.4 + Redis + Sockets + Echoでイベントブロードキャストを設定しようとしていますが、問題が発生しています。私が実行しました:エコーが定義されていませんLaravel 5.4

npm install --save laravel-echo 

私が置かれている私のリソース/資産/のJS/bootstrap.jsファイルの一番下に次:私は、コンパイルするには、以下の実行した

import Echo from "laravel-echo" 

window.Echo = new Echo({ 
    broadcaster: 'socket.io', 
    host: window.location.hostname + ':6001' 
}); 

すべて:私は頭の中でコンパイルさapp.jsファイルを含むので、のように聞くしようとしています

npm run dev 

<!DOCTYPE html> 
<html lang=en> 
<head> 
    <meta name="csrf-token" content="epkZXByjsW4lU6wwD2mELWe60Q26m3642lvMCoLK"> 
    <script src="http://localhost:3000/js/app.js"></script> 
     </head> 
    <body> 

     <h1>Chat</h1> 

     <script src="//localhost:6001/socket.io/socket.io.js"></script> 
     <script type="text/javascript"> 
      Echo.private('chat') 
       .listen('MessageSentEvent', (e) => { 
        console.log(e.update); 
       }); 
     </script> 
</body> 
</html> 
0123コンソールで

私は、次の2つのエラーを取得:

Uncaught TypeError: Cannot read property 'csrfToken' of undefined 
    at Object.<anonymous> (bootstrap.js:24) 
    at __webpack_require__ (bootstrap 2b5c37a…:19) 
    at Object.<anonymous> (app.js:8) 
    at __webpack_require__ (bootstrap 2b5c37a…:19) 
    at Object.<anonymous> (module.js:22) 
    at __webpack_require__ (bootstrap 2b5c37a…:19) 
    at bootstrap 2b5c37a…:65 
    at bootstrap 2b5c37a…:65 
(anonymous) @ bootstrap.js:24 
__webpack_require__ @ bootstrap 2b5c37a…:19 
(anonymous) @ app.js:8 
__webpack_require__ @ bootstrap 2b5c37a…:19 
(anonymous) @ module.js:22 
__webpack_require__ @ bootstrap 2b5c37a…:19 
(anonymous) @ bootstrap 2b5c37a…:65 
(anonymous) @ bootstrap 2b5c37a…:65 
chat:36 Uncaught ReferenceError: Echo is not defined 
    at chat:36 

は私が間違って何をやっているの?

+0

あなたのbootstrap.jsを表示する – msonowal

答えて

0

あなたはコンソールでそのエラーが発生しているイベントについては言及していませんでした。

これら役立つことがあります。

https://github.com/tlaverdure/laravel-echo-server/issues/68 https://github.com/laravel/echo/issues/65

あなたがチャットアプリケーションを作成しようとしているように見えます。私は最近、Laravel 5.4 + Redisの+ソケット+エコーを使用して、このようなチャットアプリを構築しました:

https://github.com/xparthx/laravel-realtime-chat

それはあなたがそれをチェックしたら、あなた自身を構築するのに役立ちます。

おかげ

1

私はあなたがwindow.Echo、ないEchoを定義したので、それはだと思います。それにアクセスするには

、代わりに次の操作を行います。これに

Echo.private('chat') 
    .listen('MessageSentEvent', (e) => { 
     console.log(e.update); 
    }); 

window.Echo.private('chat') 
    .listen('MessageSentEvent', (e) => { 
     console.log(e.update); 
    }); 

・ホープこれはあなたの問題を修正このチャットライン36の変化で

window.Echo.channel().... 

を!

関連する問題