Tag: laravel

从Predis订阅function中激发Laravel事件

我有一个Laravel PHP应用程序和一个NodeJS客户端。 发生在我的客户端,我想更新我的PHP后端,所以我发布消息到Redis频道,并在我的Laravel应用程序,我有一个Redis订阅服务器在该频道上侦听消息。 理想情况下,我想在收到消息时触发一个事件,但是我得到这个错误 [Predis \ Response \ ServerException] ERR only(P)SUBSCRIBE /(P)UNSUBSCRIBE / QUIT在此上下文中被允许 我能够从订阅者那里做我需要的东西,比如更新存储库等等,但是我无法发起Laravel事件,这是在这里做的。

selectJS插件通过节点JS安装插件

我已经通过NPM将Selectize Javascript插件安装到了我的网站上。 然后我用gulp把这个文件复制到一个公开的目录中。 我现在的问题是包含一个插件文件。 从我的公共资产目录中,我有以下结构/ src / plugins / selectable_placeholder这是根据select指令https://github.com/brianreavis/selectize.js/blob/master/docs/plugins中所需的结构。 MD 然而,包括或不包括JS文件导致错误,其中Uncaught Error: Unable to find "selectable_placeholder" plugin 要么 Uncaught ReferenceError: Selectize is not defined 两者都是由文件不被拾取,或如果find文件,然后找不到Selectize对象。 我可以看到为什么会发生这种情况,但现在如何解决这个问题,而不是通过黑客攻击插件function中的核心select代码。 任何人有任何想法?

socket.io轮询返回Laravel 500 NotFoundHttpException

我试图设置一个node.js socket.io服务器,它不工作。 看来它试图首先轮询到node.js服务器,但是因为我使用Laravel来处理大部分应用程序,所以这个应用程序正在启动并返回一个Not FoundHttpException Node.js服务器代码: var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server); var redis = require('ioredis'); var Redis = new redis(); Redis.subscribe('live-updates'); Redis.on('message', function(channel, message) { message = JSON.parse(message); console.log(channel, message); io.emit('foo', message.data); }); io.on('connection', function() { console.log('foo'); }); 客户代码: var socket = io.connect('http://myapp.app'); socket.on('foo', function(data) { console.log(data); }); 所有这一切都会在我的客户端触发下面的HTTP长轮询请求: […]

在laravel应用程序中从cmd运行gulp时出错

同时从cmd运行gulp module.js:328 throw err; ^ 错误:找不到模块'dateformat' 在Function.Module._resolveFilename(module.js:326:15) 在Function.Module._load(module.js:277:25) 在Module.require(module.js:354:17) 在要求(内部/ module.js:12:17) 在对象。 (module.js:398:26)上的(C:\ Users \ Npandey \ AppData \ Roaming \ npm \ node_modules \ gulp \ node_modules \ gulp-util \ index.js:5:9) 在Object.Module._extensions..js(module.js:405:10) 在Module.load(module.js:344:32) 在Function.Module._load(module.js:301:12) 在Module.require(module.js:354:17)

在远程服务器上与Socket.iobuild立连接

我创build了一个简单的应用程序Laravel Homestead来testing一些基本的东西:广播事件并在socket.io上监听它们。 一切运作良好。 但是,我想将应用程序上传到远程服务器到名为learn-redis的目录,并面临挑战。 我的socket.js文件如下所示: var server = require('http').Server(); var io = require('socket.io')(server); var Redis = require('ioredis'); var redis = new Redis(); redis.subscribe('test-channel'); redis.on('message', function(channel, message){ message = JSON.parse(message); io.emit(channel + ':' message.event, message.data); }); server.listen(8000); 在Laravel Homestead,我知道我可以听到8000端口,因为它在运行vagrant up时候在控制台上vagrant up 。 那我的远程服务器呢? 我使用什么端口? 在客户端,我有这个代码。 var socket = io(' http://192.168.10.10:8000 '); new Vue({ el: '#demo', data: […]

Laravel echo,socket.io和laravel-echo-server将不起作用

这可能是我遇到的最令人沮丧的事情,不幸的是,这可能是我做的一些愚蠢的事情。 以下是我正在使用的三件事的链接: Laravel回声设置 Socket.io(cdn) Laravel Echo服务器 这是我的问题:我的网站不断地击中这条路线: http://192.168.10.10:6001/socket.io : http://192.168.10.10:6001/socket.io : http://192.168.10.10:6001/socket.io 。 我不知道它为什么会碰到这个路由,因为我没有在我的代码中的任何地方定义socket.io部分。 这里是我在我的bootstrap.js中用来实例化Laravel Echo的代码。 import Echo from "laravel-echo" window.Echo = new Echo({ broadcaster: 'socket.io', host: 'http://192.168.10.10:6001' }); 这是我的socket.js文件(node.js)中的代码: var echo = require('laravel-echo-server'); var options = { authHost: 'http://192.168.10.10', authPath: '/broadcasting/auth', host: 'http://192.168.10.10', port: 6001 }; echo.run(options); 到目前为止,这里没有任何事情可能会出错。 这是链接回cdn的错误消息。 奇怪的是,改变window.Echo主机更改域,但我不知道如何更改该socket.io部分。 这让你想知道,是否在Socket.io文件的某个地方被硬编码? 这是我第一次使用Socket.io,所以我无法知道。 也许在我放入cdn之后,我需要做额外的设置? 所有的Laravel文档都要求添加脚本标签,而Laravel则因为拥有出色的文档而闻名。 […]

在Laravel项目中使用NodeJS,Gulp和Elixir

我对node和gulp等东西是全新的,但我正在开发Laravel项目,并希望使用Exilir来编译资产。 我的问题是应该在哪里安装节点? 我遵循https://laravel.com/docs/5.3/elixir中的所有说明,安装了默认目录中的节点 – c:/ program files / nodejs。 我的本地laravel项目位于c:/ xampp / htdocs / my_project中。 我试图运行gulp任务,它可能成功,因为没有错误发生,只有less许通知,如“成品”sass'…“等,但没有css文件出现在公共\ css在laravel项目。 我应该把它安装在Laravel项目结构的某个地方吗?

在socket.io中调用laravel事件

有可能调用laravel事件并在socket.io中发送一个variables? 这是我想知道的线路是否可以在发送套接字id的套接字中实现: socket.emit('App\\Events\\ClosePlaySession', socket.id); Socket.js var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server, {'pingInterval': 2000, 'pingTimeout': 5000}); var Redis = require('ioredis'); var redis = new Redis(); io.set('heartbeat timeout', 10); io.set('heartbeat interval', 4); server.listen(3000); io.on('connection', function (socket) { console.log("new client connected " + socket.id); socket.on('disconnect', function() { socket.emit('App\\Events\\ClosePlaySession', socket.id); // This is […]

如何在laravel 5中发布/使用节点模块?

我有我的laravel应用程序,我开始使用Vuejs 。 我是新来的,也许我错过了一些核心概念。 无论如何(例如)我想要使用这个组件 :具有search自动完成的多选。 跑完之后 npm install vue-multiselect@next –save 我在我的node_module组件目录中,我也有package.json文件中的依赖vue-multiselect 。 现在我有点困惑于如何前进,并在我的一个观点使用这个组件。 网站安装不起作用。 我不能在common js使用require或import关键字。 基本用法 HTML <multiselect v-model="value" :options="options"> JavaScript的 import Multiselect from 'vue-multiselect' // register globally Vue.component(Multiselect) export default { // OR register locally components: { Multiselect }, data () { return { value: null, options: ['list', 'of', 'options'] } } } […]

使用laravel-echo-server软件包连续获得传输=轮询404

我有一个简单的博客网站,用户可以在博客上发表评论。 当有人在他的博客上发表评论时,我只想向博客作者显示一个简单的popup通知。 我已经读过这个: https://laravel.com/docs/5.3/broadcasting#introduction 以下是我所做的工作: 设置一个事件,这会引发新的评论 import: <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script> 在刀片模板 在resources \ assets \ js \ bootstrap.js中添加:(按照Laravel文档说的) import Echo from "laravel-echo" window.Echo = new Echo({ broadcaster: 'socket.io', key: 'http://blog.local:6001' }); 我已经设置了这个包,按照: https : //github.com/tlaverdure/laravel-echo-server#laravel-echo-server 被解雇的命令:laravel-echo-server启动 什么时候,我打开网页浏览器,并检查控制台,我不断得到这个错误: socket.io-1.4.5.js:1 GET http://blog.local/socket.io?EIO = 3&transport = polling&t = LZkVvZQ 404(Not Found)这是我的“laravel-echo-server.json” { "appKey": "7k2g9nlm6i492ckorlmp35ng4frusfmt4uq1n68usn3re5lcl4sfg3gibi5d", "authHost": null, "authEndpoint": "/broadcasting/auth", "database": […]