Я использую Laravel 5.3 с Pusher, и все работает хорошо.
Однако я хотел бы экспортировать свои учетные данные Pusher в .env
, Или где-нибудь еще, чтобы я мог легко использовать различные приложения Pusher в своих средах разработки / подготовки / производства.
Это моя установка:
импорт Echo от «laravel-echo»
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'myKey', //development key
cluster: 'eu',
encrypted: true
});
В gulpfile.js
я имею
elixir(function(mix) {
mix.webpack('echo.js','./resources/assets/js/');
});
затем
mix.scripts([
'echo.js',
...
], 'public/js/all.js');
И, наконец, на мой взгляд:
let myRoom = 'room-user-'+'{{ Auth::user()->id }}';
Echo.private(myRoom)
.listen('MyEvent', (e) => {
console.log(e);
});
Как я уже сказал, все это работает хорошо.
Моя проблема заключается в key: 'myKey', //development key
, Есть ли простой способ использовать переменную среды Laravel env('PUSHER_KEY')
Вот? Потому что сейчас мне нужно использовать одно и то же приложение Pusher для разработки, подготовки и производства.
Также мой config/broadcasting
является
'connections' => [
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_KEY'),
'secret' => env('PUSHER_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_CLUSTER','eu'),
'encrypted' => true,
],
],
Я в конечном итоге с помощью Laravel-эликсир-окр библиотека как:
gulpfile.js
var elixir = require('laravel-elixir');
require('laravel-elixir-env');
...
elixir(function(mix) {
mix.webpack('echo.js','./resources/assets/js/');
});
...
echo.js
import Echo from "laravel-echo"window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.PUSHER_KEY,
cluster: 'eu',
encrypted: true
});
.окр
...
PUSHER_KEY=my_pusher_key
...
Других решений пока нет …