Tag: sails.js

通过sails.js中的关联

前一阵子,我问如何执行“通过协会”。 我有以下表格: genres +———–+————–+——+—–+ | Field | Type | Null | Key | +———–+————–+——+—–+ | id | int(6) | NO | PRI | | slug | varchar(255) | NO | | | parent_id | int(11) | YES | MUL | +———–+————–+——+—–+ genres_radios +———-+——–+——+—–+ | Field | Type | Null | Key | +———-+——–+——+—–+ | genre_id […]

用Jira API REST创build一个问题

当我尝试通过Jira API REST创build问题时,出现500 Internal server error ,我成功地从具有get-request的项目中获得问题,但是当我尝试请求后创build新问题时,没有工作我得到的错误。 这是我的JavaScript代码: createIssue: function(req, res) { var Http = require('machinepack-http'); process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; Http.sendHttpRequest({ url: '/rest/api/2/issue/', baseUrl: 'https://jira.mydomain.com', method: 'post', data: { "fields": { "project": { "key": "TEST" }, "summary": "REST ye merry gentlemen.", "description": "Creating of an issue using project keys and issue type names using the REST […]

访问服务器端JavaScriptvariables与客户端JavaScript的操纵

使用sails.js作为我正在构build的node.js应用程序的框架。 我试图从后端检索用户以前设置的信息(即我的应用程序的设置),然后在我的客户端JavaScript中使用这些设置。 我目前有一个控制器,从数据库检索信息,并将其传递到需要的地方。 return res.view('dashboard', { configs: configurations }); 我知道它在呈现html时是可访问的,但不知道如何将它传递给在浏览器上运行的javascript环境。 任何提示将是惊人的! 为了澄清,我不是要在HTML页面中呈现此信息(即使用<%= variable %> ,我想在页面上运行的JavaScript中使用它。

sails-auth模块给出“不能读取属性'loadStrategies'的未定义的”

我已经安装了npm模块,并解除我的应用程序,它会给出以下错误。 我无法在GitHub问题或Wiki中find任何合适的解决scheme。 模块在这里 。 我已经在我的config目录中包含了passport.js和auth.js文件,正如他们所指出的那样。 $ sails lift info: Starting app… /home/me/Documents/projects/margin/node_modules/sails-auth/api/hooks/sails-auth.js:4 sails.services.passport.loadStrategies(); ^ TypeError: Cannot read property 'loadStrategies' of undefined at Hook.initialize (/home/me/Documents/projects/margin/node_modules/sails-auth/api/hooks/sails-auth.js:4:30) at Hook.bound [as initialize] (/usr/local/lib/node_modules/sails/node_modules/lodash/dist/lodash.js:729:21) at /usr/local/lib/node_modules/sails/lib/hooks/index.js:75:14 at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:454:17 at /usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:444:17 at Array.forEach (native) at _each (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:46:24) at Immediate.taskComplete (/usr/local/lib/node_modules/sails/node_modules/async/lib/async.js:443:13) at processImmediate [as _immediateCallback] (timers.js:358:17)

使用Google Compute Engine加载nodejs上的testing瓶颈

我无法弄清楚这个网站瓶颈的原因是什么,一旦有大约400个用户达到了非常糟糕的响应时间。 该网站位于Google计算引擎上,使用实例组进行networking负载平衡。 我们用sailjs创build了这个项目。 我一直在使用kubernetes,使用Google容器引擎进行负载testing,运行locust.py脚本。 其中一项testing的主要结果是: RPS : 30 Spawn rate: 5 p/s TOTALS USERS: 1000 AVG(res time): 27500!! (27,5 seconds) 响应时间最初是很好的,低于一秒,但是当它开始达到大约400个用户时,响应时间开始大量跳跃。 我已经testing了可能影响响应时间的明显因素,结果如下: 计算引擎实例(2 x standard-n2,200 GB磁盘,RAM:每个实例7.5 GB): Only about 20% cpu utilization used Outgoing network bytes: 340k bytes/sec Incoming network bytes: 190k bytes/sec Disk operations: 1 op/sec Memory: below 10% MySQL的: Max_used_connections : 41 (below […]

Sails.js + socket.io:从服务器发送消息到客户端

我试图build立一个系统与sails.js让服务器广播消息到一组客户端。 基本上: A组中的客户端向服务器发送AJAX请求。 服务器处理请求并通过套接字将消息发送给B组的所有客户端。 B组的客户端通过套接字接收消息并显示。 根据socket.io文档,我应该能够让B组中的客户端join一个“房间”,然后让服务器广播到特定的房间,但在客户端,预先存在的“套接字”不有方法“socket.join('房间')”。 所以,我试着给所有的客户发送一个独特的事件: socket.on("connect", function(){ console.log("Client Connected"); }); socket.on("my_event", function(data){ console.log("my_event received"); }); 这可以通过在服务器端执行“sails.io.sockets.emit(”my_event“,{…})”来正常工作,但是这不是将事件发送到每个客户端吗? 我可以使事件名称是唯一的,就像“my_event_000”带有一个ID来指定组,但是这仍然会不必要地将事件发送到每个客户端。 我应该使用“房间”吗? 如果是的话,怎么样?

用sails.js修改响应头来实现HSTS

我正在使用sails.js实现一个nodejs应用程序。 我希望我的用户只通过https进行通信。 所以为此,我需要按我的方式configuration我的服务器,以便每次响应都会添加一个标头“Strict-Transport-Security”,“max-age = 31536000”来告诉浏览器只与HSTS进行通信。 现在我怎么可以修改每个响应头,我将从风帆js.我搜查文件,但没有find任何帮助。

Restangular反应和ng重复

我最近开始学习使用restangular与我restfull API(帆)交谈的angularjs。 我偶然发现的问题是,在更改范围中的列表后,ng-repeat不会更新。 控制器: app.controller('UsersCtrl', ['UsersSvc', '$scope', function(UsersSvc, s) { UsersSvc.getList().then(function (new_users) { s.users = new_users; }) s.destroy = function (user) { user.remove().then(function () { s.users = _.without(s.users, user); }); } }]); 服务: app.factory('UsersSvc', function(Restangular) { return Restangular.all('users'); }); 模板: <div ng-controller="UsersCtrl"> … <tr ng-repeat"user in users"> <td>{{user.firstName}}</td> <td>{{user.lastName}} </td> <td>{{user.emailAddress}}</td> <td>{{user.age}}</td> </tr> … </div> […]

NodeJS最佳实践:stream量控制错误?

在Node.js中,我应该使用错误进行stream量控制,还是应该使用它们更像是exception? 我正在编写身份validation控制器和Sails.js中的一些unit testing,目前,我的注册方法检查是否存在具有相同用户名的用户。 如果一个用户已经存在用户名,我的模型方法用一个新的Error对象调用它的callback参数,如下所示: 模型: exists: function (options, cb) { User.findOne({ where: { username: typeof options === 'Object' && options.username ? options.username : options }, }).exec(function (err, user) { if (err) return cb(err); if (user) return cb(new Error("A user with that username already exists.")); cb(null, !!user); }); }, 控制器: User.exists(req.body.user.username, function (err, exists) { if […]

如何将post数据中的二进制数据存储到MongoDB中

我有我想要存储为一个bin数据项的小图像。 表单发布了,但是我不知道在控制器中做什么,所以如果我这样做,数据就被存储了。 我正在使用Sails.js和窗体传递数据作为“图像”与窗体有一个文件inputtypes。 var image = new Images; image.data = ???? image.save();