问题标签 [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.
node.js - 不允许验证 - hapi js
我听了很多关于 hapi api 框架的信息,所以我从它开始。尽管文档非常可靠,但我仍然无法解决我的问题:
我正在尝试发送一些表单数据并希望在实际处理之前对其进行验证,因此我使用 hapi 强大的验证实用程序并收到以下错误:
我的代码如下所示:
请指出错误在哪里。
node.js - 在 hapijs 中只导入一次插件并在任何地方使用它
我应该hapi-mongoose-db-connector
在我的 hapijs 应用程序中使用一个名为的插件。在存储库页面中,开发人员建议您可以正确导入它的方式。它说以下方式是不好的方式:
并且不鼓励使用它。相反,他建议按照以下方式进行:
你什么都不做,只需要在你的插件中使用猫鼬。由于 npm 需要的是单例(代码仅在运行良好时才加载)
但他没有举出任何例子。在这一点上,我不太确定如何使用它。我不会调用每个 js 文件mongoose
。我会在我的应用程序中的某个地方和我为数据库创建模型的 js 文件中调用它一次,然后使用它。您知道在这些情况下的任何最佳实践吗?
javascript - Hapi.js 内容协商
我想在我的 hapi 路由中进行内容协商,以便我可以返回客户可以接受的数据类型。
有了快递,我会做这样的事情
有没有内置的方法可以用 hapi 做到这一点?我浏览了API 文档并没有看到任何东西。我是否坚持推出自己的解决方案?
node.js - 在不访问数据库的情况下测试 Hapijs 端点
我正在使用 Hapi js 开发一个 restApi。项目的结构如下:
p>身份验证请求将命中 routes.js 并转发到 authHandler.js,后者又调用 userDb.js。userDb.js 与数据库对话并将结果返回给 authHandler.js,后者将响应返回给客户端。
我一直在尝试编写一个 userDb.js 不与数据库对话的测试
为此,我使用 Hapi 的注入来调用路由,而无需实际启动服务器。我正在努力弄清楚如何在调用链中模拟数据库,以便我可以提供一个虚拟响应。
所以简而言之,我希望在测试时将 userDb.js 替换为模拟。
node.js - joi 验证:有条件地设置最小数组长度
我有一个数组字段,我想确保它在满足条件时至少有一个元素:
如果我用 Joi.required().min(1) 更改了“then”字段,它会抱怨。
我可以用 Joi 做这个吗?
node.js - 使用 hapi.js 槽 Joi 验证器在 nodeJS 中的联系表单:验证码是强制性的吗?
我正在使用 Hapi.js 框架在 nodeJS 中构建联系表单。我使用 Joi 验证器来验证来自服务器端用户的输入。我的疑问是我是否应该使用验证码来防止垃圾邮件。乔伊就够了吗?
javascript - nodejs hapiJs:从客户端发送、接收数据
我有以下文件;client.js 和 server.js。我想使用 ajax 将数据发送到我的服务器。我设法发送搜索到的用户名,但在服务器上接收到的域未定义。我不确定我是否在客户端或服务器端丢失了某些东西,或两者兼而有之?在服务器端,我的函数应该是一个通用函数,以允许它接收任何域并在该域上发出请求。有人可以帮忙吗?
客户:
服务器:
node.js - 当我将 HTTP 方法设置为 * 时,为什么 Hapi 不匹配此路径
我的目标是创建一个路由,将请求代理到远程 API 的特定路径。我无法使此路由匹配 GET 请求。POST 请求匹配,调用通过。例如,从浏览器到 /api/document 的 POST 请求成功地代理到目标。不过,Hapi 使用 404 响应 GET /api/document。我可以为方法键创建两条具有不同值的相同路由,但这似乎并不干燥。
hapijs - 是否可以在reply.file() 中手动设置内容类型标头?
我有一个要从本地文件系统提供的文件。但是,该文件不是根据命名约定命名的。相反,我在其他地方(在我的数据库中)存储了一些关于该特定文件的元数据。我想做的是说类似
无论我多么努力地说服它,hapijs 似乎只是一直在说“八位字节流”。我可以将所有文件存储在本地系统中并带有扩展名,但这并不是我真正想要做的。我宁愿使用正确的文件类型进行 hapi 回复。
validation - Joi 验证仅返回一条错误消息
我有一个由名称字段、电子邮件字段和文本区域组成的三字段表单。我正在使用 Joi 4.7.0 版本和 hapijs。我使用下面的对象验证输入。我从 ajax 调用接收数据对象。当我用错误信息填写所有三个字段时,我只会得到与第一个错误字段相关的消息。像那样:
为了解释,假设不填写这三个字段。我只收到一个消息错误,而不是其他字段的消息错误。为什么?