Articles of sails.js

如何在sails.js中获取当前的域名地址

我试图使用sails.js获取当前url。 我尝试了以下内容: req.param('host') and req.param('X-Forwarded-Protocol') 返回undefined。 req.headers.host 返回localhost。 但我的域名不是本地主机。 如何得到它?

SailsJS将对象/variables传递给布局视图的正确方法

你好,我想知道是否有一个正确的方法来传递一个variables或对象到布局视图? 这就是我现在正在做的,它的工作原理 index: function(req, res){ res.view({ layout: 'mylayout', myvar: 'This is a view var' }); } 但是在每个动作中,我必须定义'myvar',所以我可以在布局级别使用它,所以我想知道是否有某种控制器或布局的动作,所以我可以在那里放置我的逻辑?

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

我打算组织我的控制器使用子文件夹帆,但我不知道如何做到这一点。 当我尝试使用像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更新将是很好的。