Articles of sails.js

检查是否存在与node.js的gravatar

你好,知道我有一个小的Web应用程序使用Sails.JS,我试图设置一个默认的图像,如果用户没有gravatar帐户/configuration文件。 这是我用来在我的控制器中散列电子邮件的代码: var crypto = require('crypto'); req.session.email = 'user_email@gmail.com'; req.session.gravatar_hash = crypto.createHash('md5').update(req.session.email).digest('hex'); 正如你所看到的,我已经在会话中散列了。 所以我认为我有: <div class="gravatar" style="background-image: url('http://www.gravatar.com/avatar/<%=req.session.gravatar_hash%>?s=50');"></div> 此代码非常适合显示gravatar(默认或自定义)图像,但是如果我想进行validation,所以如果用户没有gravatar我可以使用自定义图像? 有一种方法来validation?

节点JS风帆两个不同的数据库

我build立一个应用程序,我有一个本地数据库(MySQL),但我需要连接到另一个数据库以及我可以从第二个数据库(甲骨文)拉一些信息,没有任何人有任何信息或例子使用Sailspipe理多个数据库? 谢谢。

航行水线自动增量

好奇为什么这种行为正在发生… 当我提升帆进行testing时,我在磁盘上build立了一个testdb。 一切都放弃了,以干净的石板开始testing。 Sails.lift({ connections: { testdb: { adapter: 'sails-disk' }, }, models: { connection: 'testdb', migrate: 'drop' } }, function(err, server) … 当我在testing之前进行Model.find()时,一切都是可预测的。 但是当我做Model.create()时,它会返回从所有旧模型开始依次递增的“id”字段。 切换到'sails-memory'适配器每次都会重新开始,这很有意义,因为它实际上无法持久化。 那么,作为一个学习点,这里发生了什么?为什么?

Sails.js:在Chrome中遇到“请求太多”的错误

所以我正在使用新的节点MVC框架Sails.js( https://github.com/balderdashy/sails ),我得到了一个奇怪的错误,我从来没有过。 我试图实现passport.js身份validation策略示例( https://gist.github.com/theangryangel/5060446)Sails.js包含在文档中,但是当我尝试访问我的主页( http://localhost:1337/ )虽然没有login我得到路由到http://localhost:1337/login但它不加载和chrome给我这个错误: This webpage has a redirect loop The webpage at http://localhost:1337/login has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer. Here are […]

sailsjs&laterjs任务调度,初始化..轮询每x或睡眠x?

我正在构build一个开源的nodejs动力喷水灭火系统,它将运行在树莓派上,并与OpenSprinkler Pi一起工作。 我在用: sailsjs 0.9.3 laterjs – 时间表解释和math 我创build了一个问题,回到bunkats回购要求他解释这个给我.. https://github.com/bunkat/later/issues/19 最终结果将是rpi和您决定开发的任何前端之间的REST API接口。 网页/手机/手机等.. 调度组件的工作方式是将值发布到具有区域标识,名称,初始状态(false)和纯文本的人类可读日程表语句的URL /programs ,例如: every 12 hours starting on the 6th hour before 10 minutes (06:00和18:00 10分钟)。 这个时间表将被parsing,然后string化并存储在db中,如下所示: {\"schedules\":[{\"h\":[6,18],\"m_b\":[10]}],\"exceptions\":[],\"error\":-1} 其他值将在input时进行清理和存储。 我的问题是: 我应该如何去寻找这些时间表并确定他们的运行时间/date? 我有调度部分,运行时间下降和工作(运行10分钟)。 尽pipe如此,我仍然为了有效地检索时间表而苦苦挣扎。 我最初的想法是有一个间隔每1分钟轮询分贝… setInterval(function(){ //get programs from db //iterate through programs //enable programs which start now? }, 60000); 但是这似乎是不合逻辑的。 我想,当创build时间表时, setInterval或setTimeout是使用适当的调度信息创build的。但是如果rpi失去能力会发生什么情况,或者那些会占用所有这些时间间隔的内存。 […]

Sailsjs:模型中的dynamictableName

我正在构build我的第一个sailsjs和nodejs应用程序,它非常棒:) 我的情况是,我有大约100张同样结构的桌子,我想决定“即时”加载哪张桌子。 我的第一个想法是以某种方式使用dynamic类名。 但是我不知道如何用nodejs做到这一点,也许有人有一个想法。 所以我会在模型文件夹中创build100个“modelName”.js文件。 我可以在浏览器中使用它 window["fileName"].find()…. 但是我在nodejs中没有任何窗口对象 第二个想法是将tableName传递给模型,问题是,我必须重新模型,不知道如何。 任何解决scheme

Node.JS使用Sails.JS框架 – 护照:没有战略注册名称:Facebook

我正在使用Node.JS的Sails.JS框架。 我写了一个config / middleware.js,它有一个validation处理程序并进行初始连接。 该页面当前正在由config / routes.js推送的AuthController上出错。 控制台日志: Fired Facebook error: Error: no strategy registered under name: facebook at attempt (/project/node_modules/passport/lib/passport/middleware/authenticate.js:237:37) at Passport.authenticate (/project/node_modules/passport/lib/passport/middleware/authenticate.js:244:7) at AuthController.facebook (/project/api/controllers/AuthController.js:35:4) Authcontroller.js函数 'facebook': function(req, res, next) { console.log("Fired Facebook"); passport.authenticate('facebook', { failureRedirect: '/auth', scope: 'email' }, function(err, user) { console.log("Fired Login Attempt"); req.logIn(user, function(err) { if (err) { console.log(err); […]

Sails.js如何加载会话并创build,检查,销毁?

在configurationsession.js我已经启用redis之前,我已经安装了这两件事情… npm安装connect-redis npm install express adapter: 'redis', // // on localhost is expected. // Read more about options at: https://github.com/visionmedia/connect-redis // host: 'localhost', port: 6379, ttl: 3600, db: 0, pass: '', prefix: 'sess:' 在控制器2中 //分配会话中的值并redirect到controller1 req.session.error =“category not found”; //错误TypeError:无法设置未定义的属性“错误” module.exports = { load_word: function(req, res){ var async = require('async'); var express = require('express'); var […]

如何在SailsJs中实现可逆path的概念

所以我来自Django,我们享受了一个成熟的框架,有许多明智的约定。 对于我迄今探索过的任何nodejs框架来说,最大的挫折之一就是对可逆路线的明显的漠视。 https://github.com/balderdashy/sails/issues/1133 我想达到的是两件事情之一: 让sailsjs实现一个合理的路由库,如问题单中列出的路由库之一 或者更可能发生的事情是fork sailjs,并使其使用其中一个路由库,以便在我的控制器和视图中提供正常的url工具。 我认为反向的人总结说: Tired of hard-coding endpoints in your client-side JS? Exhausted from rewriting all of your redirects whenever you change your express routes? 帮助我了解如何才能做到这一点。 它会涉及到sailsjs的大规模改变?

Sails.js资产pipe理和参考

对不起noob问题,但我试图用Sails启动一个新的应用程序,并包括我的资产。 我使用Bower来pipe理我的包,例如Bootstrap和JQuery。 我读了这个问题,并添加了一个.bowerrc文件, 这个文件现在将我的Bower组件安装到/assets 。 我现在困惑,我应该如何着手将这些文件添加到我的项目。 看起来好像我不能像我习惯的那样在标题中做一个<script>标记,因为它给了我一个找不到的文件。 通过sails文档阅读,似乎Grunt应该在我的项目中创build一个.tmp/public/assets文件夹,但是每当我运行sails lift并转到.tmp/那里什么也没有。 我也在文档中看到,我应该使用某种资产注入,我试图将其添加到我的HTML,它似乎没有任何事情。 我的另一个问题是我如何去引用HTML中的图像。 显然我不能只是做一些像src='assets/images/image.png ,我该怎么办呢? 有什么明显的我失踪了吗?