Articles of loopbackjs

使环回API Ember.js兼容

我正在尝试使用Loopback API来与Ember交谈。 Ember要求将JSON包含在“密钥”中,例如对于一个帐户: { account: { domain: 'domain.com', subdomain: 'test', title: 'test.domain.com', id: 1 } } 我在Google小组上发现了一些关于如何修改响应的build议,以便Ember能够使用afterRemote钩子来接收它。 例如在我的models / account.js中: module.exports = function(Account) { Account.afterRemote('**', function (ctx, account, next) { if(ctx.result) { if(Array.isArray(ctx.result)) { ctx.res.body = { 'accounts': account }; } else { ctx.res.body = { 'account': account }; } } console.log(ctx.res.body); next(); }); }; […]

Strongloop Embeds许多辅助方法没有find

有些问题我在文档中找不到答案。 我试图得到这样的结构: Node: id: '1sdf12asd123', name: 'node1', history: [ ts: 234234234234, data: { 'foo': 'bar' } ], … 所以每个节点都有很多的历史项目。 而且我希望能够push新的数据,而不会覆盖任何东西。 现在,我不想将每个节点下的所有东西都存储起来,而是放在一个单独的文档中,所以我认为embedsMany会适合这个: { "name": "Node", "plural": "Nodes", "base": "PersistedModel", "idInjection": true, "options": { "validateUpsert": true }, "properties": { "name": { "type": "string" } }, "validations": [], "relations": { "history": { "type": "embedsMany", "model": "History", "foreignKey": "HistoryId" […]

使用JWT进行环回authentication

我想了解如何将自定义JWT路由安装到loopbacks安全模型中。 我的应用程序有一个涉及SMS的身份validation“跳舞”,这个身份validation会使用出色的描述来生成有效的JWT令牌。 我使用jsonwebtoken ,事情按预期工作。 在获得令牌后,我的angular.js客户端会发送带有Authorisation: JWT ..token..标头中的每个请求的标识(发现有冲突的文档,一个说JWT,一个承载者,但是我可以弄清楚)。 现在我想在循环应用程序中使用令牌。 我想使用ACL系统环回提供的。 我读过以下资源: 使用JSON Web令牌validationNode.js API 环回,在用户login 第三方login(护照) 环回,进行authentication的请求 智威汤逊的护照策略 环回OAuth2.0源 环回卫星 我不清楚我的下一步是什么。 我有工作: 用户“login” – 生成JWT 用户login使用用户名/密码(将退休) 在环回中使用ACL实现(当我访问ACL受保护的资源时,正如我们所期望的那样,发生4xx错误) 我的JWT令牌正确(?)在请求的头部 我需要: 基于JWT令牌的angular色兼容环回ACL的有效用户 非常感谢帮助

strongloop loopback如何服务静态路由?

我想要做类似的事情 // server.js app.use('/client', loopback.static(__dirname + '/../client')) 使用middleware.json ,但这个例子只能从根 "files": { "loopback#static": { "params": "$!../client" } },

loopbackjs:将模型附加到不同的数据源

我定义了几个使用数据源“db”(mysql)的模型用于我的环境。 有没有办法有几个数据源附加到这些模型,所以我将能够执行REST操作到不同的数据库? 即:GET / api / Things?ds =“db” GET / api / Things?ds =“anotherdb” GET / api / Things(将使用默认的ds)

服务器端反应:Babel不会在服务器上dynamic地转换JSX。 为什么?

我使用Node.js的LoopbackJS框架(与Express相同,因为它基于Express)。 而且我无法设置React服务器端渲染。 我遵循这篇文章 ,并在这里回答了Stackoverflow和其他文章,不起作用。 巴贝尔文件是悲惨的,没有例子,“尝试猜测”的风格。 以下是他们提供的关于如何在即时渲染React的唯一信息: $ npm install -g babel-core require("babel-core/register"); 所有具有扩展名.es6,.es,.jsx和.js的节点所需的后续文件将由Babel转换。 polyfill中指定的polyfill也是自动需要的。 但它不起作用。 顺便说一下,其他文章build议使用require("babel/register") 。 有什么不同? 我尝试了两个。 结果是一样的 – SyntaxError: Unexpected token 。 这是我的代码: 这是client/js/components.js : var React = require('react'); var ReactDOM = require('react'); var Form = React.createClass({ render: function() { return ( <form action="" method="post" id="login-form"> <div><input type="text" id="login" placeholder="Login" /></div> <div><input […]

Loopback +连接多个数据库

我正在使用loopback框架和nodejs。 是否可以一次连接多个数据库? 比如我有两个不同的数据库。 1. Mysql Database – A 2. Postgresql – B 有些页面从A数据库获取数据,有些页面需要从B数据库获取数据。 有可能这样做吗? 更多细节: 假设我们有两个模块。一个模块与MySQL交互,另一个模块与postgreSQL交互。

环回MongoError:未授权在heroku_xxxx.role上进行查询

我正在为我的服务器使用Loopback和以下设置: "loopback": "^2.36.0", "loopback-boot": "^2.23.0", "loopback-component-explorer": "^2.4.0", "loopback-component-storage": "^1.9.1", "loopback-connector-mongodb": "^1.17.0", "loopback-datasource-juggler": "^2.53.0", 它连接到mlab.com上的mongoDB 我的主要查询包括一个模型和它的依赖关系,例如: GET /api/course/1234 PARAMS filter = { include: [ {relation:'students'}, {relation:'documents'}, {relation:'modules'} ] } 99.9%的时间,它完美的作品。 但是当我开始在平台上进行更多的活动时,在服务器开始崩溃之前,我开始出现这个错误。 这是错误: MongoError: not authorized for query on db.student at Function.MongoError.create (/app/node_modules/mongodb-core/lib/error.js:31:11) at queryCallback (/app/node_modules/mongodb-core/lib/cursor.js:182:34) at /app/node_modules/continuation-local-storage/context.js:76:17 at bound (domain.js:287:14) at runBound (domain.js:300:12) at Callbacks.emit (/app/node_modules/mongodb-core/lib/topologies/server.js:119:3) […]

使用内存作为数据源进行环回testing

我正在尝试使用内存连接器作为数据源进行集成testing时。 但它似乎总是连接到mongodb数据源。 我做的一个主要的黑客攻击是将每个模型的数据源更改为内存。 但是一定有更好的方法来做到这一点。 我从一个吞咽任务运行我的testing。 我的roflmao模型 – 内存黑客: var models = require('../server/model-config.json'); for (var key in models) { var model = loopback.getModel(key); loopback.configureModel(model, {dataSource: memory}); } } 有没有办法改变应用程序的数据源? 或者我必须改变每个模型的数据源..? 一个这样做的方法是在testing期间改变环境variables,但到目前为止,没有运气..我正在做这个与吞吐任务预处理。 希望通过改变环境variables,它会使用datasources.integrationtesting.js,其中我有内存作为一个数据源。 我的一口气任务: return gulp.src('integration-tests/*.js') .pipe($.preprocess({context: {NODE_ENV: 'integrationtesting'}})) .pipe($.mocha()) 我在用着: 环回testingfunction 一饮而尽,摩卡 欣赏任何评论..)

使用Loopback实现更改密码

我试图用Loopback的内置方法实现更改密码function,它工作正常,但它不会更新密码与hash相反,它只是保存在数据库中的纯文本。 我在这个项目中使用loopback-component-passport npm包。 我search了很多网站,但我无法find正确的方法来实现此function。 有没有人有想法如何做到这一点? //Change user's pasword app.post('/change-password', function(req, res, next) { var User = app.models.user; if (!req.accessToken) return res.sendStatus(401); //verify passwords match if (!req.body.password || !req.body.confirmation || req.body.password !== req.body.confirmation) { return res.sendStatus(400, new Error('Passwords do not match')); } User.findById(req.accessToken.userId, function(err, user) { if (err) return res.sendStatus(404); user.hasPassword(req.body.oldPassword, function(err, isMatch) { if (!isMatch) […]