我正在使用Laravel 5.3和Pusher,而且一切运行良好。
但是,我想将我的Pusher凭据导出到.env
。或者在其他任何地方,以便我可以在我的开发/舞台/制作环境中轻松使用不同的Pusher应用程序。
这是我的设置:
从“laravel-echo”导入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 App。
我的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,
],
],
答案 0 :(得分:0)
我最终使用laravel-elixir-env库作为:
<强> 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
});
<强> .ENV 强>
...
PUSHER_KEY=my_pusher_key
...