Tag: sails.js

Sails.js – 将数据传递给视图

我最近开始学习如何使用Sails.js,并遇到一个小问题。 我有一个叫申请人的模式,如下所示: module.exports = { attributes: { name: { type: 'STRING', required: true }, email: { type: 'STRING', required: true } } }; 我已经构build了索引操作来返回申请人模型的所有实例: module.exports = { index: function(req, res) { Applicant.findAll().done(function(err, applicants) { res.view({ apps: applicants }); }); } }; 这是我正在使用的观点: <section id="applicants"> <h1>List of applicants</h1> <ul> <% for (applicant in apps) { %> […]

TypeError:Undefined不是一个函数 – Sails.js

所以我现在通过一些教程学习了Sails.js ,现在我已经多次遇到这个问题。 我试图寻找解决scheme,但没有一个似乎工作。 module.exports = { signup: function(req, res) { var username = req.param("username"); var password = req.param("password"); Users.findByUsername(username).done(function(err, usr){ if (err) { res.send(500, { error: "DB Error" }); } else if (usr) { res.send(400, {error: "Username already Taken"}); } else { var hasher = require("password-hash"); password = hasher.generate(password); Users.create({username: username, password: password}).done(function(error, user) { […]

Sails.js查询关联的值

我正在使用Sails.js版本0.10.0-rc4 。 所有的模型都使用sails-mysql。 我试图查询一个模型,有一个“一对多”关联到另一个模型(查询发生在“多”一侧)。 它看起来像这样: Post.find() .where({ category: category_id }) .populate("category") .exec( … ) 这给了我一个空数组,但是当我离开.populate("category")我得到正确的结果集。 我知道我可以离开.populate("category") ,然后分别获取每个相关的类别对象,但我想知道是否有更好的解决scheme,这个问题。

如何使用sails.js节点检查器?

我想debugging我的sails.js应用程序,但是我不知道如何在这个场合启动node-inspector器。 通常情况下, $ node –debug myapp.js 如果我正常运行我的sails应用程序: $ sails lift –prod 然后启动node-inspector $ node-inspector –debug-port 1337 Node Inspector v0.7.0-2 info – socket.io started Visit http://127.0.0.1:8080/debug?port=1337 to start debugging. 我在检查器GUI中出现这个错误: Error: read ECONNRESET. Check there is no other debugger client attached to port 1337.

SailsJS 0.11:ENOENT:没有这样的文件或目录,stat'… / node_modules / .bin / cdl'

这个SailsJS应用程序,适用于我的办公室机器,但不是本地,我想知道为什么? 本地我运行linux。 在办公室的Mac。 本地我得到 错误:ENOENT:没有这样的文件或目录,stat'/home/jiewmeng/Dropbox/meclub/node_modules/.bin/cdl'错误(本机)在Object.fs.statSync(fs.js:849:18)at / home / jiewmeng / Dropbox / meclub / node_modules / include-all / index.js:44:12 at Array.forEach(native)at requireAll(/home/jiewmeng/Dropbox/meclub/node_modules/include-all/index.js: 40/9)at /home/jiewmeng/Dropbox/meclub/node_modules/include-all/index.js:50:23 Array.forEach(native)at requireAll(/ home / jiewmeng / Dropbox / meclub / node_modules / include- all / index.js:40:9)at buildDictionary(/home/jiewmeng/Dropbox/meclub/node_modules/sails/node_modules/sails-build-dictionary/index.js:68:14)at Function.module.exports.optional (/ home / jiewmeng / Dropbox / meclub / node_modules /下载/ sails / […]

如何将图像转换为sails.js中的base64编码的数据URL,或者通常在服务器端JavaScript?

我正在sails.js做一个小应用程序,我需要将图像存储在数据库中。 为此,我需要将图像转换为base64编码的数据URL,以便将其保存为我的帆模型中的string。 但是,我不知道如何以这种forms转换它。 所有关于将图像转换为base64编码的数据URL的老问题,他们回答这个问题是关于在客户端进行的。 不过,我想在服务器端做,而我将通过发布请求获取图像。 我怎样才能做到这一点?

Sails.js – 一对多映射

有没有什么办法做Sails.js模型之间的关系映射? 这是我想要的: 的Video.js: module.exports = { attributes: { filename: 'STRING', length: 'INTEGER', watchCount: 'INTEGER', extension: 'STRING' user: // I wan to reference to my User.js model } }; 在我的User.js中: module.exports = { attributes: { username: { type: 'email', required: true }, password: 'STRING', videos: // I would like to have an array of videos after […]

在Sails.js上获取请求Ember.js

我正在使用Sane栈创build一个Web应用程序,在客户端使用Ember.js作为JavaScript框架,而在服务器端使用Sails.js作为node.js框架。 我的结构如下: 我试图从Jira API REST获取一些数据,例如,我可以使用一个简单的控制器从sails.js中从JIRA API REST获取项目信息: //server/app/controllers/JiraController module.exports = { loadProject : function(req, res){ console.log("Jira contoller"); var Http = require('machinepack-http'); process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; Http.sendHttpRequest({ url: '/rest/api/2/project/', baseUrl: 'https://jira.domain.com', method: 'get', headers: { "Authorization": "Basic YWxhYS52654f0bWFuaTphbGFhNDE0NA==" } }).exec({ serverError: function(result) { res.send("server error" + JSON.stringify(result)); }, success: function(result) { // res.send("Projects loaded successfully"); res.send(result); } […]

不存在的属性:EventEmitter内存错误,而不是正确的错误消息

在基于NodeJS 6.10.2 / SailsJS 0.12.13的JavaScript应用程序中,我经历了几个月的奇怪的错误行为。 在Sails控制器中,我尝试检索字面对象的属性: console.log(someObject.someProperty); console.log("I am still here!"); 但是,在我的情况下someObject是未定义的。 所以,我希望得到一个错误,如'不能读取属性someProperty未定义。 – 然后Node.js完全停止或代码继续(与下一个console.log )。 相反,代码只是简单地停止执行在这一点,我得到了一个奇怪的警告:“(节点:4822)警告:可能的EventEmitter内存泄漏检测到11closures监听添加使用emitter.setMaxListeners()来增加限制。 但是,这个错误发生的频率是不可预测的。 有些事情只有一次,约20次左右。 我发现的是,它是否与已经有回应的问题有某种联系。 考虑以下: mySailsControllerFunction: function(req, res) { console.log(someObject.someProperty); console.log("I am still here!"); res.json({"foo":"dahoo"}); } 这将导致Sending 500 ("Server Error") response: ReferenceError: someObject is not defined – 正是我所期望的。 但是,现在我首先发送一些响应,然后尝试访问我的非现有属性,将代码转换为: mySailsControllerFunction: function(req, res) { res.json({"foo":"dahoo"}); setTimeout(function () { console.log("Yeah!"); console.log(someObject.someProperty); […]

如何用sails.js定义模型的实例方法

我如何定义Sails中的对象的函数/实例方法? 在Waterline doc( https://github.com/balderdashy/waterline )中他们说: var User = Waterline.Collection.extend({ … attributes: { … // You can also define instance methods here fullName: function() { return this.firstName + ' ' + this.lastName } }, } 但是当我尝试在Sails中的模型的属性中定义一个实例方法时,该函数不会被添加到对象中。 难道我做错了什么 ? 环境:Sails(v0.8.94),Node(v0.8.16)