问题标签 [strongloop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3994 浏览

jasmine - 对 strongloop loopback.io 模型的远程方法进行单元测试

我正在尝试使用茉莉花为环回模型编写单元测试。我的模型具有通常的 CRUD 端点,但我定义了一个自定义的“/products/:id/upload”端点,它需要一个带有文件的表单。

我的模型看起来像

我的最终目标是测试“createProduct”的逻辑。我的测试看起来像

通过调用 ProductModel.upload(); 我希望触发之前的远程挂钩,这将执行 createProduct。我可以单独测试“createProduct”,但是我会忽略 createProduct 作为上传结果最终被调用的事实。

非常清楚,核心问题是:如何在 unittests 中使用远程方法挂钩?

0 投票
1 回答
146 浏览

strongloop - 如何将 VoltDB 与 Strongloop 集成

我正在尝试在我的应用程序中使用带有 Loopback 的 VoltDB。我找不到合适的方法来集成它,因为没有任何支持的连接器。Voltdb 有一个 nodejs 库(https://github.com/VoltDB/voltdb-client-nodejs)。任何有效使用它的建议。

0 投票
1 回答
7516 浏览

javascript - 如何在 Strongloop 环回脚手架项目中覆盖基本用户?

给定一个使用以下内容创建的全新项目:

$ slc lb project myapp

如何用放置在目录中的“客户”模型替换“用户”模型?客户应具有登录/注销等方法,并且“用户”不应作为 API 存在。此外,客户模型不应该是动态的。让我们假设客户应该有一个如下模式:models.json./models

  • 姓名
  • 电子邮件
  • 密码
  • 问题
  • 回答
  • 电话
  • 已验证
  • 数据创建

我已经玩了几天了,我的 google-fu 让我失望了。任何帮助表示赞赏。谢谢。

0 投票
1 回答
543 浏览

strongloop - 可以挂钩 beforeUpdate/afterUpdate 修改值吗?

我有模型调用“点”,我想在每次操作更新时更新“更新”字段。所以,我做了钩子 boforeUpdate 来修改用 new Date() 更新。结果回调为真,更新的字段是新的日期时间。但未在 db 上更新,该字段仍然是旧的日期时间。我的代码:

0 投票
2 回答
6677 浏览

javascript - strongloop 环回发送电子邮件

我看到环回带有集成为节点模块的nodemailer。我尝试按照文档通过 angular-sdk 发送 hello world 邮件

http://apidocs.strongloop.com/loopback/#emailsendoptions-callback

但是,这里的文档并不具体。我尝试了以下方法:

这给了我这个错误,即使我有一个经过身份验证的用户实例。

我的问题是如何配置电子邮件模块以设置 SMTP 等。任何帮助将不胜感激。

谢谢斯文

0 投票
1 回答
3015 浏览

node.js - 如何使用 Loopback.io 设置 SMTP

如何使用 loopback.io mbaas 设置 SMTP 服务器?我已经浏览了所有文档,但我找不到它。如果有办法,如何在环回配置文件中提供/定义我的 smtp 服务器设置。

0 投票
1 回答
1513 浏览

javascript - 如何正确使用 MongoDB 进行 Strongloop 脚手架用户模型存储?

我是 Strongloop 的新手,也是 MongoDB 的新手。现在有这么多的学习曲线。

我的基本问题是我将用户模型(models.json)数据源从内存连接器切换到 loopback-connector-mongodb 连接器,并且在调用 /login 时不再获得 userId。我取回了一个访问令牌,但用户 ID 为空。如果我切换回内存连接器,我会得到一个 1 或其他的 userId。

好像我记得如果我不提供 ID,Strongloop 会在某个地方为我添加一个。这仅适用于内存数据存储吗?既然是 mongo,我需要做一些特别的事情吗?

我是否也需要将 accessToken 模型切换为 mongo (我只是想到了这个)?

谢谢。

0 投票
2 回答
706 浏览

javascript - 在 model-builder.js 中应用“getter”方法应该有问题

我正在尝试设置一些基本场景并使用 LoopBack 来找出它的实际灵活性和可用性水平。

其中之一是在处理来自数据库(例如 MySQL)的源数据期间,必须修改结果 JSON 对象中某些属性的值。

我正在使用以下版本:

strong-cli v2.5.5 (node v0.10.29) node-inspector v0.7.4 strong-build v0.1.0 strong-cluster-control v0.4.0 strong-registry v1.1.0 strong-supervisor v0.2.3 (strong-agent v0. 4.9, strong-cluster-control v0.4.0) loopback-datasource-juggler v1.6.2 loopback-connector-mysql v1.4.1

我尝试了所有方法,但看起来“getter”方法是以我不理解的方式应用的,或者存在错误。

为了描述这个问题,我使用了一个简单的表“city”(在 MySQL db 中):

并填写了一些简单的数据。

为了在 LoopBack 中定义模型,我使用了位于“models”目录中的文件“city.js”:

如您所见,“getter”方法是使用“City”对象在“city”模型上定义的。

当我尝试运行 LoopBack 然后通过 StrongLoop API Explorer 发送请求时:

控制台看起来像(包含 DEBUG=loopback:connector:* 的信息):

结果如下:

如您所见,“启用”属性最终由“getter”方法更改,但是:

  • 在 LoopBack 初始化期间,“getter”方法也被调用了 2 次
  • 在查询 MySQL 数据库之前,“getter”方法也被调用了 1x
  • 'getter' 方法中的 console.log(v) 总是返回 'undefined'

loopback-datasource-juggler 中“model-builder.js”的源代码(第 364 行)

是一个解释为什么。'call' 方法只有一个参数(this)代表被调用函数中的 'this' 对象,并且没有第二个参数代表被调用函数中的参数 'v'(与 Raymond Feng 关于How我要创建 getter 和 setter 覆盖吗?)。

问题还在于“getter”方法中的“this”始终表示一个包含模型所有属性的对象:

然后来自控制台的消息:

你能解释一下“getter”方法的当前实现的想法吗?

非常感谢。

米洛斯·拉皮斯 MLC

更新

非常感谢雷蒙德的回答。

一开始我以为是这样,但是当我使用类似的东西时:

当我请求时,节点立即崩溃:

出现错误: RangeError:超出最大调用堆栈大小

这就是为什么我认为您的实现有点不同。有什么不对?

我究竟应该使用什么来将“x”添加到从 db 检索到的实际值中?

谢谢。

米洛斯·拉皮斯 MLC

0 投票
1 回答
581 浏览

strongloop - mongodb belongsTo 外键为空

所以这个问题感觉很像我的上一个问题。Strongloop 让我觉得自己像个菜鸟。哈哈。

我从一些 LB 示例中偷了这个:

在资源管理器中,我看到了客户和订单端点。客户也有端点/customers/{id}/orders,订单有/orders/{id}/customer等等。到目前为止一切都很好。

我有这个客户添加:

当我发布订单时,我得到一个空的 customerId:

有什么想法我在这里做错了吗?

0 投票
2 回答
411 浏览

javascript - 基于 User 的客户模型基于 userId 而不是 customerId 返回 FK 属性

与此相关:上一期

我定义了这个模型:

如果我什么都不做,我会得到所有我期望的额外用户端点(登录、注销、accessTokens 等)。但是我的登录结果给了我:

似乎 userId 应该是 customerId。我已经从 models.json 中删除了用户和 accessToken 模型。所以我什至不知道它从哪里获得关系信息,除非它是在某个地方烘焙的。无论如何,如果我尝试/customer/53c6f5d4769ed...在标题中调用并提供令牌,我会得到 401。从技术上讲,Id 是正确的,只是 FK 名称错误。

我试过像

我认为这改变了我的 FK 名称,但在调用后续端点时我仍然得到 401。

这是我自己到达的地方。所以我的问题实际上是这样的:

对我的 authN 使用代码优先而不使用“用户”模型如何连接 accessToken(也是代码优先)?扭曲将是我计划拥有多个身份验证模型(即客户、供应商、员工)。所以真正的问题是我如何连接它以允许每种类型的“用户”获得他们自己的访问令牌???

清如泥??;-)