Tag: sails.js

是否有可能使用子文件夹将帆控制器分组?

我打算组织我的控制器使用子文件夹帆,但我不知道如何做到这一点。 当我尝试使用像pipe理员/ PageController.js和连接它与路线我不断收到404错误。

Sails.js:模型上的dynamic表名

我已经在Sails.js中做了一个JSlogging器应用程序,一切都很好。 现在,我正在扩展应用程序:我需要为同一个模型使用多个表(例如,基于id的sesson2等)。 比方说,对于模型“Pageview”,我将使用不同的表格,如“Pageview1”,“Pageview2”等。 我怎么能dynamic定义该模型的tableName,所以我可以根据参数或属性在每个请求上进行更改。 到目前为止,我已经尝试过这种方式 var tableId = 2; Pageview.tableName = "pageview" + tableId; Pageview.create(values, function…); 该代码不会中断应用程序,或抛出任何错误,但logging保存在默认表,而不是我想要的。

AppCache在Safari,firefox中行为exception

所以我在appcache方面遇到了一些麻烦。 我有一个单一的页面应用程序(真正的URL使用page.js和加载页面加载服务器的HTML,(调度:false) 它运行在node.js上,特别是它的一个sails.js应用程序。 我在布局的html标签中有一个清单文件。 清单文件已被重复testing,所有内容都会被检出。 它完美地运行在铬。 即使在Safari中,它也正确地显示在检查器中,并且具有文件中列出的资产列表。 到现在为止还挺好。 但是,脱机时,Safari无法加载除HTML文档本身之外的任何内容。 所以我基本上只看到一个无标题的头列表。 控制台显示了一堆404。 所以,即使它正确读取清单文件,它不会caching任何东西。 Firefox甚至没有检测到清单文件,似乎像不存在的工作。 iOS7上的Safari浏览器performance得像firefox,离线时不显示任何东西。 任何人有任何明智的想法,为什么这可能会发生?

如何解决在sails.js的SocketIO握手过程中没有可用的有效会话?

我正在使用sails.js开发一个iOS应用程序的API,并使用websockets进行实时通信。 问题是,我不能让套接字握手工作。 控制台中显示“此套接字中没有可用的有效会话”错误。 当我谷歌search了一下,我才知道我需要设置一个有效的cookie。 由于我的客户端不是基于浏览器的Javascript,我不能设置任何cookie。 我甚至在config/sockets.js设置了authorization: false 有没有解决这个问题? 还是selectSails JS这个任务是一个错误? 顺便说一句,这些是我遇到这个问题的一些链接: https://github.com/balderdashy/sails/issues/1062 https://github.com/balderdashy/sails/issues/995 https://github.com/balderdashy/sails/issues/1003

Node.js多平台的项目结构

它真的很混乱,为node.js设置最好的项目结构我正在开发适用于浏览器,移动和桌面的node.js应用程序。 这个应用程序有许多模块,如计费,支持,仪表板等。 我开始使用express.js MVC模式,后来Sails.js看起来非常有吸引力。 然后遇到了MEAN Stack,最后登陆了微服务Seneca.js 微服务看起来像我所需要的,但我看到Sails.js不支持它。 我想使用Aerospike NoSQL,但是waterline orm现在不支持它。 那么你在Node.js中使用的项目结构解决scheme是什么,在浏览器,移动和桌面?

连接android客户端到sails.js

我正在使用nkzawa socket.io Android客户端 。 我怎样才能连接到sails.js服务器? 我尝试从客户端(iOS和Android)的发送套接字请求到Sails.js服务器和简单的Sails.js和Android示例的方法,但我的帆服务器上出现以下错误: Running "watch" task Waiting… verbose: A socket is being allowed to connect, but the session could not be loaded. Will create an empty, one-time session to use for the life of the socket connection. Details: Error: Session could not be loaded at _createError (/usr/local/node-v0.12.4-linux-x64/lib/node_modules/sails/lib/hooks/session/index.js:271:21) at Immediate._onImmediate (/usr/local/node-v0.12.4-linux-x64/lib/node_modules/sails/lib/hooks/session/index.js:274:13) at processImmediate […]

如何在上传之前validation文件types使用SailsJS Skipper

作为标题,现在我无法检查上传之前的文件types。 我只validationfile upload成功后不允许保存数据。 以下是一个基本的代码 updateAvatar : function(data, context, req, res) { req.file('avatar').upload({ dirname: '../../assets/images/avatar' }, function (err, files) { var allowExts = ['image/png', 'image/gif', 'image/jpeg']; if (err) return res.serverError(err); if (files.length === 0) return res.badRequest('No file was uploaded!'); if (allowExts.indexOf(files[0].type) == -1) return res.badRequest('File type is not supported!'); // save database here }); } 我应该怎样做正确的代码? […]

升级path从Sails.JS 0.10到0.11保持向下兼容性

我有一个传统的Sails.JS项目,目前在Sails版本0.10.5。 我想将项目升级到Sails 0.11.x及以后版本,但有一个问题。 这个项目作为本地移动应用程序的后端,因此与升级一个Web服务器不同,您只需将新的sails.io.js和socket.io客户端库链接到您的网站,我们就不能依赖用户升级原生应用程序。 我是唯一一个遇到这个问题似乎是不合理的,所以我想向社区提出一个问题,看看是否有什么辉煌的东西让我没有想到要使升级顺利进行。 我想到的想法是: 使用子域( https://v2.domain.com/api/ .. )运行两个版本的应用程序。 这显然是最明显的解决scheme,但需要相当数量的服务器configuration才能实现,而我们目前正在运行定制环境能力有限的PAAS,因此这可能需要交换机提供商。 除了参与这条路线的工作之外,还有关于如何处理代码库的决定。 您可以为两个风帆版本维护两个代码分支,但这意味着修复错误两次和两次错误的可能性。 或者你可以在代码中添加条款来检查它运行的是哪个版本的sails。 这些看起来都不是很干净,但我认为如果这两个选项中的其中一个select了第二个选项的话。 通过sails.js核心代码挖掘,并find一种方法来获得socket.io 0.9和socket.io 1.0并行运行。 这将允许我让所有用户在closures0.9支持之前更新他们的移动应用程序。 虽然这也有明显的陷阱,其中主要是在框架层面进行全面的变革。 我很想知道其他人在这种情况下做了些什么,如果解决scheme只是保持在Sails 0.10.5上,那很好,但是我很想得到原生Socket.IO库的额外好处,出来v.1.0,而不是我目前使用的半家庭纺解决scheme。 此外,继续获得安全性和function更新将是很好的。

使用Sails.js进行全文search

Sails.js和/或Waterline是否可以进行全文search? 我知道PostgreSQL支持全文search,但看起来像Waterline的PostgreSQL适配器支持这个function,据我所知。 Waterline的contains辅助方法是否可以进行高效的全文search?

未能通过风帆运行摩卡testing

我正在关注Sails文档并尝试运行Mochatesting。 我已经按照文档指定的方式编辑了我的package.json ,但由于某种原因,当我尝试运行Mocha时,总是得到EACESS,权限被拒绝。 起初我得到了: Error: EACCES, permission denied '/Library/Application Support/Apple/ParentalControls/Users' 我不明白为什么要做运行我的testing,但增加了这个文件夹所需的权限。 然后我得到: Error: EACCES, permission denied '/Library/Application Support/ApplePushService' 再次,不明白,所以改变了这个文件夹的权限,这也没有帮助。 我不明白为什么摩卡需要这些文件的权限,或者如何解决这个问题。 我跑了这个命令: mocha test/bootstrap.test.js test/unit/**/*.test.js 而且我的项目结构和Sails教程完全一样。 我正在使用Mocha@2.2.5 。 我的同事克隆回购,并试图在他的机器上运行testing,但没有完全相同的错误失败。 我试图降级到Mocha@2.2.0这也没有帮助。 完整的错误追踪: events.js:85 throw er; // Unhandled 'error' event ^ Error: EACCES, permission denied '/Library/Application Support/ApplePushService' at Error (native) at Object.fs.readdirSync (fs.js:761:18) at Glob._readdir (/usr/local/lib/node_modules/mocha/node_modules/glob/glob.js:609:20) at Glob._process […]