Tag: sails.js

为什么socket.post()比socket.emit()慢

我正在Nodejs中构build一个可恢复的file upload器。 首先,我使用socket.emit()将其实现为原始Node.js,然后将其移植到Sails.js,并使用来自客户端的socket.post()调用socket.post()控制器。 我发现使用socket.emit()实现比使用socket.emit()更快。 任何人都可以告诉我为什么..?

SailsJS从控制器访问服务

我试图在sailsjs中创build一个服务,所以我可以从多个控制器访问一些业务逻辑,我偶然发现了一些问题…该服务是一个'行动日志'我希望logging有关特定API调用的数据通过模型到数据库。 我有这个文件结构: api/services/actionService.js – the service to receive data from controller and log to model api/models/Action.js – functioning model to store logged actions api/controllers/ActionController.js – functioning controller to respond to get requests for the action model api/controllers/AnotherController.js – I wish to access the actionService from here to input data 我不确定如何引用AnotherController.js的服务; 根据帆的文档,我应该可以调用ActionService(data)但我得到一个ActionService is not defined错误。 有什么我需要做的加载控制器的这种依赖关系? […]

在postgresql函数中使用libphonenumber库

我需要parsingpostgresql函数中的电话号码。 我正在使用水线ORM,基本上是在JavaScript中做这个计算。 现在我想把整个逻辑移到postgresql存储的函数中。 但瓶颈是libphonenumber库的可用性。 它在Node.js中可用,但不知道如何在postgresql中使用它。 任何想法 ?

sails.jsasynchronous问题

我想testingsails.js的asynchronous性能,所以我写了下面的代码等待10秒(我认为代码应该由于callback函数asynchronous执行)。 当我访问执行代码的url时,它等了10秒,没事的。 但是与此同时,我访问了一个只执行res.view(anohterView)的不同url,它仍然等了10多秒。 这是否意味着sails.js同步执行,并且第二个访问的URL被第一个阻塞? 谢谢! someModel.findOne(modelId, function foundModel (err, model) { if (err) return next(err); if (!model) return next('Model doesn\'t exist.'); function sleep(milliSeconds) { var startTime = new Date().getTime(); while (new Date().getTime() < startTime + milliSeconds); } sleep(10000); res.view(Someview); });

sailsjs将parameter passing给常规路由

我已经阅读了关于控制器的文档来产生响应。 但是我有一些其他的非控制器意见的问题。 在config / views中, '/':{view:'homepage'} 我想知道,如果我想在parameter passing到主页模板,我该怎么做?

弃用:`config.adapters.default` Sails.js

当我举起我的风帆项目时,我会在terminal上看到这些警告 debugging:弃用: config.adapters.defaultdebugging:(见http://links.sailsjs.org/docs/config/connections )debugging:现在,我会假装你设置config.models.connection 。 debug:Deprecated: config.adapters debug :(参见http://links.sailsjs.org/docs/config/connections)debug :现在,我假装你设置config.connections 。 debug:Deprecated: config.adapters.*.module debug:(参见http://links.sailsjs.org/docs/config/connections)debug :现在我假装你设置config.connections["disk"].adapter 。 而我的数据不存储在mysql数据库。 这是我的api模型代码 module.exports = { schema:true, tableName: 'BusStop', adapters: 'mysql-adapter', migrate: 'safe', attributes: { stopID:{ type: 'int' }, stopName:{ type: 'string' }, latitude:{ type: 'float' }, longitude:{ type: 'float' } } }; 这是我的local.js代码 module.exports = { port: process.env.PORT || […]

当Cookie被禁用时,护照会话pipe理

我正在制作一个Web应用程序,将AgularJS作为我的前端,Sails(NodeJS + Express)作为我的后端。 我正在使用护照(护照本地)进行身份validation,这似乎工作很好,直到我在safari中进行testing。 我注意到会话总是会返回null。 我使用护照会话授权,我无法使用req.session.passport获取会话variables,因为它是空的。 我发现我在Safari中禁用了Cookie。 这会破坏我的应用程序的授权。 有没有一种方法可以使会议pipe理,即使在浏览器中禁用cookie,也能正常工作?

Sails.js查询在函数结束处运行

我正在开发一个项目,在这个项目中,我必须在多个表格中存储多个站点,一个路线及其关系。 我成功地存储停止和路线。 但要存储我需要获取最近存储的路线的id(自动生成的主键)和所有最近存储的停靠点的关系。 我得到他们通过运行查询来查找最新的ID是最新的存储的ID。 这是我的代码: create: function (req,res,next) { var stopsArray = req.param('latLngArray'); var so=""; var totalBusStops = req.param('totalStops'); var routeToSave=new OneRoute(); routeToSave.routeName="This route"; routeToSave.totalStops=totalBusStops; Routes.create(routeToSave, function routeCreated(err, routeToSave){ if(err) return next(err); res.json(routeToSave); }); // creating routes for(var i=0;i<stopsArray.length;i++){ var us = new busStop(); us.lngPos = stopsArray[i].Lng; us.latPos = stopsArray[i].Lat; BusStop.create( us ,function stopCreated (err,us) […]

Node / Sails / Node-Postgres,用于存储连接string的最佳实践

我正在使用Node-Postgres软件包来查询我在Sails.js框架中构build的应用程序的postgresql / postgis数据库。 我不知道为node-postgres包存储连接string的最佳位置是在模型和控制器中访问,但仍然安全。 例如,如果我想从一个模型中对postgres数据库执行查询,我现在做的是: var conString = "postgres://postgres:mypass@localhost:5432/myapp_dev"; var client = new pg.Client(conString); client.connect(); var junk = []; client.query('SELECT * FROM junk', function (err, result) { // Stuff I do with the query result }); 每次我需要执行一个查询时,声明这个连接string和新客户端是不好的做法/不方便的。 所以,我想能够做的是: client.connect(); var junk = []; client.query('SELECT * FROM junk', function (err, result) { // Stuff I do […]

水线0.10.14 + express – beforeCreate不执行

我想在我的用户模型上有一个密码,但在创build被调用之前从来没有看到。 使用Express 4.2和水线0.10.14。 用户模式: var Waterline = require('waterline'), uuid = require('uuid'), bcrypt = require('bcrypt'); var User = module.exports = Waterline.Collection.extend({ identity: 'user', connection: 'default', autoPK: false, // prevents creation of the id schema: true, types: { // Custom Validation – https://github.com/balderdashy/waterline-docs/blob/master/models.md#custom-validations }, attributes: { uuid: { type: 'uuidv4', primaryKey: true, defaultsTo: uuid.v4 }, first_name: { […]