问题标签 [hapijs]

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 回答
102 浏览

ios - JSON 输出为具有空白值的键

所以我有一本字典,我试图从 iOS 设备发送到 Node Hapi 服务器。

由于某种原因,我的请求有效负载正在将字典添加为具有空白值的键。这是我的 iOS 代码

这是我的有效载荷

谁能帮我这个?我不想将我的用户信息作为密钥保存在 mongo 中。只是看起来很奇怪。

0 投票
4 回答
6553 浏览

node.js - 有没有办法查看 Hapi 服务器中的所有路由

我们正在开发一个 node.js Hapi 服务器,该服务器从 MongoDB 数据库中提取路由列表并设置所述路由以进行服务。这样,由于数据库中的重复路由条目,服务器可能会失败。

我试图查看,但未能找到在 Hapi 中检查重复路线的方法。

是否可以获得 Hapi 服务器当前正在服务的路由列表?

在尝试构建来自 MongoDB 的路由时,我可以进行比标准 try/catch 块更漂亮的错误检查吗?

设置路线的代码如下;请查看我在代码中的注释,了解我需要在哪里处理错误。

0 投票
1 回答
903 浏览

plugins - 全局访问插件 hapijs

有没有办法访问全局注册的插件?我已经阅读了 hapi-sequelize 并且我想将它实现到我的 hapi 应用程序中。这是文档。它在那里声明您可以使用以下代码全局访问它:

var db = plugin.plugins['hapi-sequelized'].models; db.Test.create({ email: 'some@email.com', password: 'alskfjdfoa' });

我尝试将它插入到我的控制器中,但它似乎无法识别插件变量。

0 投票
1 回答
915 浏览

node.js - 是否可以在 hapi 中返回服务器方法的文件

我正在尝试将reply.filehttp://hapijs.com/api#replyfilepath-options)用于server.methodhttp://hapijs.com/api#servermethodname-fn-options),但它说我的next函数没有有file

我有以下内容:

可能吗?

我正在使用 hapi v6.9。

0 投票
1 回答
357 浏览

session - Hapi.js、CouchDB 和处理 AuthSession 令牌的问题

我的当前设置有问题。我正在使用 Hapi.js 和 CouchDB。我正在尝试使用 CouchDB cookie 身份验证。

我通过使用用户名和密码查询 /_session 从 CouchDB 获取 AuthSession 令牌。所以这很好。

问题是我不知道如何处理 AuthSession 令牌。在哪里存放?例如,我读过我可以将它存储在 Redis 中。但那怎么办?以什么格式?

假设我将用户的 ID 和 AuthSession 令牌保存到 Redis 中。然后假设有 5 个用户同时登录,因此 Redis 中有 5 个令牌。对于用户发出的每个请求,我如何知道从 Redis 获取哪个令牌?

0 投票
1 回答
472 浏览

javascript - phantomjs-node + 实验室(来自 hapijs 的测试实用程序)+ 测试覆盖率

我正在使用phantomjs-node,不幸的是,它不能很好地处理lab的测试覆盖率的东西。当我运行时lab -t 100,它试图注入__$$labCov传递给的函数page.evalute()。但是,该函数不会在它出现的代码的上下文中执行。它在虚拟浏览器的上下文中执行。

因此,在我正在测试的代码中,如果我的 PhantomJS 代码中有这个:

在第二个函数中,result应该是字符串“foo”。这就是我运行代码时发生的情况。但如果我通过 运行它lab -t 100null我会得到“幻像标准输出:ReferenceError:找不到变量:__$$labCov”。

有没有办法告诉实验室,“嘿,我知道这一行看起来像你想确保运行的代码,但真的,不要担心这里的这个小功能,它不适合你。”?

或者,有没有一种方法可以访问__$$labCov,以便我可以将其提供给沙盒功能?幻影让你这样做:

但这不起作用,因为我无法访问__$$labCov...

0 投票
0 回答
1072 浏览

javascript - 访问在 docker 容器内运行的 node.js Hapi 服务器

我使用 node.js hapi 服务器从 centOS 构建了一个 docker 容器。服务器运行良好,在容器内运行时,我在控制台中得到正确的输出。但是,我不知道该怎么做。

码头集装箱的输出

码头工人文件

0 投票
6 回答
7493 浏览

node.js - nodejs hapi 单页

我有一个应用程序站点 (NodeJS),我想从 Express 迁移到 Hapi,我通常做的是提供静态文件并将其他所有内容路由到包含 angularjs 应用程序和 angular 路由配置的单个页面。

在 HapiJS 中,我不知道如何复制相同的代码(不使用 express.static 中间件),因为:

在上面的代码中,无论什么请求都会映射到我的单个页面('public/html/index.html'),但是如果我这样做,那么 js、css、jpg 和文件将被映射到相同的文件而不是脚本,样式和图像(对'/images/bg.png'的请求将下载单个页面而不是图像文件)。

我知道,如果我将路径 '/' 设置为我的单个页面,然后将 '{p*}' 设置为 '{directory: {path: '/public'}}',那么我将拥有我需要的行为,但是有一个问题,如果某个用户复制并粘贴一个特定的 url(比如说'/account/login')然后按回车,该路由将映射到 HapiJS 并且响应将是“未找到(404)”,角度路由永远无法回应。

有谁知道如何解决这个问题?

问题的关键部分是:

  • 仅使用 HapiJS(不使用 express 或其他中间件)
  • 不要路由每条角度路由(只需将其他所有尚未路由到单页的东西路由到 Angular 可以处理路由)
0 投票
1 回答
473 浏览

javascript - ECONNREFUSED hapi.js

我们已经使用 hapijs 一段时间了,突然开始遇到这个问题

我不确定为什么会收到此错误。我尝试了不同版本的节点,但没有成功。还有其他人有这个问题吗?

任何帮助/建议表示赞赏。

谢谢。

0 投票
1 回答
6102 浏览

regex - 错误:模式必须是正则表达式

我需要接受手机号码作为 Web 服务的输入,但是在使用 Joi 框架进行验证时遇到了以下问题。

乔伊 说:

验证:

我检查了 freeformatter 上的正则表达式它似乎对至少一些输入工作正常。我不明白为什么 joi 会抛出这个错误。