问题标签 [sails.io.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Sails 0.10 ModelIdentity.subscribe 或 .watch 以及用于 publishCreate()?
我正在研究SailsCasts并且正在开发SailsJS beta 版本 0.10。
一切正常,除了在0.9.7中,我使用这个:
- 如何为 0.10 做到这一点?
特别是,订阅publishUpdate
和publishDestroy
工作正常。
对于publishCreate
,我需要'User.subscribe(req.socket)'
并且我在控制台中有警告:
接着:
'model.watch()'
和 和有什么区别'model.subscribe()'
?
websocket - 使用sails.io.js 来自前端的API 请求
我有一个基本的前端(html、css、jquery),我想使用sails.io.js 与API 服务器进行通信(使用sails 开发,启用cors)。API 在 localhost:10000 上运行,但稍后它将在另一个域上,而不是 webclient 上的域。
直接从 jquery,我可以向这个 API 发出一些获取请求并获得预期的结果。
谈到websocket,我有一些问题......在index.html(只是为了测试)中,我放了以下内容:
但是 Chrome 的开发者工具告诉我
任何想法 ?
更新
我正在使用 web 服务器 (python -m SimpleHTTPServer) 为 index.html 提供服务,
我已经使用 bower 安装了sails.io.js。
我试图使这个测试尽可能简单:
索引.html
index.js:
我的sails (0.9.16) API 仅在 GET /data 路由上返回一个 json 对象。
我在 api 中实现了一个虚拟的 __getcookie 函数:
并在interpret.js 中评论了第481 行(Scott 评论如下)。
我还修改了 config/socket.js :
=> 我现在可以从我的 API 的 /data 路由中得到结果 :)
但是......在每个请求上我都有以下错误:
node.js - HTTP 调用有效,套接字使用 Passport 失败
所以我正在运行 Sailsv0.10,并且我有一个相当简单的蓝图覆盖用于在我的 WorkoutController 中创建。
模型看起来像这样
锻炼.js ->
当我向 /workout 发送一个 http POST 时,一切都按预期工作,但是当我使用sails io 套接字客户端通过套接字发送它时,我得到以下信息
我不确定状态代码 500 是否相关,但没有其他有用信息。
为了尝试定位我也尝试过的问题
- 禁用覆盖功能
- 删除模型中的关联
- 删除枚举
- 使用通过套接字工作的另一个模型的相同代码进行测试
更新,所以问题似乎与政策有关
一切看起来都很好,所以我仍然不确定发生了什么
sails.js - Sails v0.10.x 在生产模式下不发送更新或添加到消息
我在生产模式下遇到了 Sails WebSockets 的问题。当我在开发模式下运行 Sails - 即sails lift
- 我收到了消防软管上的所有消息。但是,当我在生产模式下运行 Sails 时 - 即sails lift --prod
- 我只收到创建消息。
例如,我的套接字侦听器代码如下所示:
当我在开发模式下运行时,我会收到update
房间addedTo
消息。我也得到create
和update
消息的人。但是,当我在生产模式下运行时。我只收到create
用户的消息,没有update
或addedTo
消息。
我正在运行 Sails v.0.10.2。
node.js - Sails.js 中的多个单独聊天
我在sails.js 上看到了几个聊天功能的例子。但是,他们所有人都创建了一个大型聊天,所有用户都被放置在其中。
如何创建多个聊天(因此在一个聊天中发布的消息在另一个聊天中不可见)。
我不确定我是否正确理解了这个问题。看起来发生的事情是客户端做io.socket.post('/message', { someMessageData })
了,结果订阅了所有消息。
有没有办法过滤它(在服务器端)它只在一个聊天室中订阅消息。
我看到套接字有id。如果服务器端直接使用 socket.io,我只会收集需要发送消息的 id 列表。
但是,Sails.js 隐藏了这个级别。结果,我不确定如何在服务器上配置它。
我看到了类似的问题。然而,它已经相当老了(考虑到 Sails.js 的变化速度)。我不确定我应该把关于 Model.subscribe 和 Model.publish 的代码放在哪里,考虑到它们都是按约定隐藏的(所以看起来我需要在自动订阅时覆盖一些默认行为)。
angularjs - 使用 nginx、sails 和 upstart 的跨域配置问题
我在使用 nginx 和sails 时遇到了跨域配置问题。问题是,如果我让套接字正确连接,http://domain-server.com/socket.io/
那么 RESTful 请求将失败。如果 RESTful 有效,则套接字不会。
设置
客户http://domain.com
服务器http://server-domain.com
"sails.io.js": "0.10.3"
客户端是一个使用这个配置的角度应用程序io.sails.url = 'http://domain-server.com';
。
Server 是一个兼具 RESTful 请求和套接字功能的 Sails 应用程序。
帆 CORS 配置
Sails 插座配置
nginx 配置
注释掉的是我在 nginx 配置中摆弄的东西,但没有取得多大成功(也尝试了客户端地址而不是 *)。
进行 RESTful 调用的 angularjs 服务方法
在角度配置函数中
这是当前配置,这是我遇到的结果。
浏览器控制台输出
Resource interpreted as Script but transferred with MIME type text/html: "http://domain-server.com/__getcookie".
- 好的
|>
- 好的
\___/ sails.io.js:200
io.socket connected successfully.
XMLHttpRequest cannot load http://domain-server.com/login?password=test&username=test.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://domain.com' is therefore not allowed access.
- 不好
更新
似乎一切正常,如果我直接使用开始航行,sails lift
或者node app.js
在使用.conf
文件中的新贵脚本启动它时,会发生跨域问题。
新贵脚本
sails.js - 如何在服务器端存储套接字连接?
我将使用sails 设置基于socket.io 的Web 应用程序
问题是套接字连接总是在转发路由后重新建立。
例如 :
当我输入 /index 时,套接字连接良好。然后我单击 /news 的链接,我发现套接字已断开连接并重新连接。
我需要将连接存储在服务器端吗?任何建议或答案表示赞赏。
node.js - 如何在sails 0.10.5中创建套接字连接
我正在尝试使用sailsjs 创建一个实时应用程序。我在 youtube 上看到了教程,在该网站上搜索了简单的解决方案。在 github 上搜索了简单的示例运行示例。我发现一些工作,但旧版本。无论我学到什么,发现我都试图在我的应用程序中实现。
那就是 sessionController.js
那就是 userController.js
那就是 app.js 来接收数据
问题很简单,当用户注册或注销或用户执行任何操作时,我都没有得到响应。我认为我正确地发布了操作,但不知道接收。如果有人能指出我正确的方向,那将非常有帮助。如果需要,我可以分享更多信息。
我将在github上分享这个。所以这将对其他人有充分的帮助。
谢谢。
node.js - 为什么我使用 Socket.IO 将 NodeJS 服务器 (Sails) 连接到另一个 NodeJS 服务器 (Express4) 失败?
我正在尝试使用socket.io-client
.
我的航行服务app/services/Watcher.js
看起来像
调用config/bootstrap.js
方式如下:
在 Express 方面,我的服务器relay.js
很简单:
当我node relay
尽职尽责地运行它时
当我sails lift
我的另一台服务器时,它尽职尽责地报告
但我从来没有看到真正的联系。
如果我将浏览器指向localhost:8000
我会得到{"message":"some response"}
JSON
我期望的响应。
为什么我的中继服务器不接受来自我的 socker.io-client 应用程序的连接?
node.js - sailsJs,使用两个控制器时出错
在sails.Js 中,我如何使用具有两个模型的控制器?
就像,在我的页面中有一个参考<%= user.city%>
,在另一个模型中,我有一个类似的列表:
{
street
},
{
state
},
{
house
}
我该怎么做,<%= user.city.street%>
在我的页面中使用?
信息:我有两个模型,“用户”和“信息”,列表在信息模型中。