Tag: sails.js

部署在Openshift上的Sails.js项目的错误可视化

我在Openshift上部署了我的Sails项目。 它的工作原理,但我收到错误的websockets,我无法加载build立在ejs上的页面。 我发现这些链接足以解释有关grunt / openshift,但我无法解决问题。 在Openshift上部署Sails.js 在Openshift上部署Sails.js …应用程序重新启动 我的nodejs.log是: DEBUG: Running node-supervisor with DEBUG: program 'app.js' DEBUG: –watch '/var/lib/openshift/537b5ae8500446c95900057f/app-root/data/.nodewatch' DEBUG: –ignore 'undefined' DEBUG: –extensions 'node|js|coffee' DEBUG: –exec 'node' DEBUG: Starting child process with 'node app.js' DEBUG: Watching directory '/var/lib/openshift/537b5ae8500446c95900057f/app-root/data/.nodewatch' for changes. Warning: connection.session() MemoryStore is not designed for a production environment, as it will leak […]

如何获得伊斯坦布尔与Sails.js 0.10.x?

我正在尝试使用Sails.js 0.10.x应用程序来获得伊斯坦布尔代码覆盖工具。 我看到http://blog.sergiocruz.me/unit-test-sailsjs-with-mocha-and-instanbul-for-code-coverage/,但是这个使用了0.9.x,并且在0.10.x之后执行了相同的步骤,由于对Grunt设置的更改而工作。 我试图调整它如下: tasks/config/istanbulCoverage.js : module.exports = function (grunt) { grunt.config.set('mocha_istanbul', { coverage: { src: 'test', options: { coverageFolder: 'coverage', mask: '**/*.spec.js', root: 'api/' } } }); grunt.loadNpmTasks('grunt-mocha-istanbul'); }; tasks/register/coverage.js : module.exports = function (grunt) { grunt.registerTask('coverage', [ 'mocha_istanbul:coverage' ]); }; 但是这只会导致/coverage目录被创build,但是没有创build文件。 没有错误消息,所有的testing都通过了,除了没有创build覆盖报告外,一切看起来都很好。 任何人都知道什么是错的? 如果有问题,我在Windows上,但稍后会尝试* nix虚拟机。

REST联结/资源检索的混合。 哪个控制器使用?

这个问题不容易用英文解释,因为我不是。 那么这很简单,我尝试做一个REST API,我可以有这些URI: get / events / 10 / users / 2 get / users / 2 / events / 10 正如你所看到的,我可以检索一个在事件中注册的用户,我可以检索一个链接到用户的事件。 这只是一个例子。 我现在的问题是如何用良好的逻辑来实现? 使用哪个控制器? 用户或事件控制器? 因为REST,我有这样的资源组合,肯定是/ user?id = 2&event = 10和/ events?id = 10&user = 2更容易理解,我知道在哪里检索用户和事件。

Sails.js对象在填充后有未定义的集合

每当我在Sails.js中填充一个集合,这些值都被填充到modelName.associations.collectionName.value 。 modelName.collectionName的值modelName.collectionName是未定义的,即使当我将对象表示为JSON时,所有内容都将完美显示。 以文档( http://sailsjs.org/#/documentation/concepts/ORM/Associations/ManytoMany.html )中给出的多对多关系为例,如果我执行以下查询: User.findOne(1) .populate('pets') .exec(function(err, owner) {…}); 我会得到owner.associations.pets.value的宠物集合,但是owner.pets是未定义的。 有什么想法发生在这里? 编辑: 我已经复制了文档中给出的完全相同的例子(相同的Pet.js , User.js和bootstrap.js ),我已经用这种方式覆盖了User.js的findOne蓝图: findOne: function (req, res) { User.findOne(req.params.id) .populate('pets') .exec(function(err, owner) { if (err) return res.send(err, 500); return res.json(owner); }); } 正如我所料,JSON响应是好的,但如果我在exec(..)函数内设置断点, owner.pets是未定义的。 数据只在owner.associations.pets.value 。 难道是我的Sails.js版本吗? 这是0.10.0-rc11。

testing风帆控制器

我试图testing我的帆控制器。 但是当我在我的UserController.test.js中使用这一行代码,它抛出一个错误不能调用undefined var app = sails.hooks.http.app 在bootstrap.test.js中,我已经声明了这样的风帆 var sails = require('sails') before(function(done){ Sails.lift({},function(err,sails){ done(err, sails); }) }) PS:我已经检查,sails.hooks工作正常,只有在调用http方法它给我这个错误。 我正在关注这个链接进行testing。 帆testing

如何在Express / Sails上获得请求的“结束”?

我想缩小视图上的HTML,所以我需要注入一个函数(中间件)来获取请求内容并parsing以缩小html / ejs。 我正在试试这个: https : //stackoverflow.com/questions/25667227/how-to-sailsjs-minify-html-views-with-ejs 但它被closures,我不知道为什么,现在我正在尝试下面的代码,但控制台不显示日志,所以事件不被调用。 任何人都知道如何做到这一点? module.exports = { http: { customMiddleware: function (app) { app.use(function(req,res, next) { res.on('data', function(chunk){ console.log("INFO: "+chunk); response += chunk; }); res.on('end', function(){ console.log("End received!"); }); res.on('close', function(){ console.log("Close received!"); }); next(); }); } } };

护照login回拨丢失会话

我有下面的代码存储用户引用HTTP头到会话,所以,在facebook护照login发生后,我可以知道他试图访问哪个页面,并正确地redirect我的用户: function facebookAction(req, res, next){ var referer = req.headers['referer']; req.session.redirectLogin = url.format(parsed, true); passport.authenticate('facebook', {scope: ['user_birthday', 'user_location', 'email']})(req, res, next); } 问题是,在Facebook回叫我的URL后,会话不再被设置: function facebookCallbackAction(req, res, next){ var redirectLogin = req.session.redirectLogin; console.log(req.session.redirectLogin); // this is undefined passport.authenticate('facebook', { successRedirect: redirectLogin + 'login=1', failureRedirect: redirectLogin + 'loginError=1'})(req, res, next); } login发生,但由于某种原因我失去了会话。 有没有人之前通过这个问题? 我使用sails作为框架

修改一个sailsjs / nodejs错误对象

我已经在我的水线模型下粘贴了一个callback 为了给客户端一个漂亮的消息,我试图修改错误对象的状态,以便res.negotiate(err)将用badRequest响应。 但我的error.status = 400似乎被忽略,当它传递给res.negotiate我仍然得到500错误返回(服务器错误,而不是错误的请求)。 我正在处理这些文档 http://sailsjs.org/#/documentation/reference/res/res.negotiate.html https://docs.nodejitsu.com/articles/errors/what-is-the-error-object http:// massalabs。 COM的/ dev /十分之二千零十三/ 17 /处理-错误合nodejs.html 想法,错误? beforeDestroy: function(criteria, next){ var error = new Error('This shift has people scheduled and can not be deleted.'); error.type = 'user'; error.status = 400; return next(error); } 此外,即使当我得到一个服务器错误返回的消息。 在这种情况下,返回的错误对象上找不到“此class次有人安排…”。 我正在使用未修改的响应页面,我不知道为什么被删除? 这是将错误对象返回给客户端。 error: "E_UNKNOWN" raw: {} status: 500 summary: "Encountered an […]

我如何使用sitemap.js?

我安装了节点模块sitemap.js为我的网站生成一个sitemap.xml。 不过,我对node / express / sails相当新,所以我不太了解git页面上的说明。 根据“用法”一节,该代码应该在哪里? 如何执行模块以便生成xml?

Node.js – 具有分层数据支持的ORM

就像标题所说,我正在寻找一个支持分层数据的ORM。 例如,我将需要代表一个这样的关系(类别与子类别等…): CREATE TABLE "category" ( "id" SERIAL PRIMARY KEY, "parent" INTEGER NULL DEFAULT NULL REFERENCES "category" ("id") "name" VARCHAR(50) NOT NULL UNIQUE, "description" VARCHAR(100) NOT NULL, "sort_order" INTEGER NULL DEFAULT NULL, ); 有没有人可以做到这一点?