Tag: hapijs

joivalidation:有条件地设置最小数组长度

我有一个数组字段,我想确保它满足条件时至less有一个元素: genre:Joi.array().includes(data.genres).when('field'{is:'fieldValue',then:Joi.required()}) 如果我用Joi.required()。min(1)改变了'then'字段,它就会抱怨。 我可以跟Joi做这个吗?

通过使用hapi.js槽在nodeJS中联系表单Joivalidation器:captcha强制的?

我正在使用Hapi.js框架在nodeJS中构build一个联系表单。 我使用Joivalidation器来validation来自服务器端用户的input。 我怀疑是否应该使用captcha来防止垃圾邮件。 Joi可能够了吗?

Lab&getConfig集成

我正在尝试使用getConfig实验室,但我总是得到一个错误。 在实验室中,我需要服务器,但在searchconfiguration文件时,它会查找node_modules / lab / bin / test_config.json,而不是在根文件夹中查找test_config。 有没有办法使用getConfig将configuration文件传递给实验室? 这是我正在做的一个片段: //In the testFile.js var Lab = require("lab"); var server = require("../index"); (…) //In index.js (…) var config = require('getconfig'); (…) var server = new Hapi.Server(); server.connection({ host: config.http.listen, port: config.http.port }); (…) 这是错误抛出: /index.js:12 host: Cannot read property 'listen' of undefined

hapi:包含一个js自定义库

在我的index.js文件中,我想加载一个外部的js库,在那里存储函数。 从长远来看,我会把它作为一个模块,但现在我需要把东西变成原型。 这不是节点的一部分,所以我不能把它放到node_modules 。 什么命令? 我有index.js和我有相同的文件夹中的functions.js 。

HapiJS JSON格式

我正在写一个小的CRUD应用程序,我想对我得到的JSON响应进行一些格式化(主要是为了便于阅读)。 有没有我失踪的设置?

我如何定制Hapi.js访问日志?

我通过logging“响应”事件来使用Hapi.js的Good和GoodFile来访问日志。 我如何自定义被logging的对象? 具体来说,当'statusCode'是404时,我不想在响应事件中包含'query'属性。

没有'Access-Control-Allow-Origin'标题问题与hapijs

嗨,我有我的Facebook应用程序的问题。 当我开始authentication后,它给了我这个错误: XMLHttpRequest无法加载http:// localhost:8000 /信息。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因'http:// localhost:8080'因此不被允许访问。 :8080 / carRandomizer:1 XMLHttpRequest无法加载http:// localhost:8000 / rand。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因'http:// localhost:8080'因此不被允许访问。 所以我明白这是一个CORS的问题,我已经尝试遵循官方文档http://hapijs.com/api#serverrouteoptions ,现在我在我的server.js文件上设置: server.connection({port:process.env.PORT,routes:{cors:true}}); 现在我有同样的错误: XMLHttpRequest无法加载https://www.facebook.com/v2.3/dialog/oauth?client_id=1463042613952341&respo…k&state=URaCt6cXqf_JzJYgS9KlwM&scope=public_profile%2Cuser_friends%2Cemail。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因'null'因此不被允许访问。 angular.js:12330(匿名函数)@ angular.js:12330(匿名函数)@ app.js:817(匿名函数)@ angular.js:14567a。$ get.n. $ eval @ angular.js:15846a。 $ get.n. $ digest @ angular.js:15657a。$ get.n. $ apply @ angular.js:15951l @ angular.js:10364F @ angular.js:10536e @ angular.js:10487:8080 / carRandomizer: 1 XMLHttpRequest无法加载https://www.facebook.com/v2.3/dialog/oauth?client_id=1463042613952341&respo…k&state=j-vSbeB6rGvEi_cgu-9TrM&scope=public_profile%2Cuser_friends%2Cemail。 […]

如何使用promise和vo.js返回Hapi答复

我有一个asynchronous的nightmare.js过程,它使用vo.jsstream程控制和一个生成器: vo(function *(url) { return yield request.get(url); })('http://lapwinglabs.com', function(err, res) { // … }) 这需要使用reply()接口返回对Hapi(v.13.0.0)的承诺。 我已经看到Bluebird和其他承诺库的例子,例如: 如何从hapi.js路由处理程序之外进行回复 ,但是无法适应vo.js. 有人可以提供一个这样的例子吗? server.js server.route({ method: 'GET', path:'/overview', handler: function (request, reply) { let crawl = scrape.doCrawl({"user": USERNAME, "pass": PASSWORD}); reply( … ).code( 200 ); } }); scrape.js module.exports = { DoCrawl: function(credentials) { var Nightmare = require('nightmare'); var […]

一起使用express和hapijs

我们有一个大的nodejs应用程序使用快递。 我们开始在小型服务上进行hapijs的实验,而不是像expression式那样。 所以我们希望将快速应用迁移到hapijs。 但是由于应用程序已经很大,我们不想一次完成一个完整的重写,而是一步一步地重写,所以我们可以在更多的时间内完成。 有没有办法在同一个nodejs进程中使用express和hapijs,并在那些路由之间进行路由select?

如何在特定时间范围内制作带有限制速率的asynchronousAPI调用?

我正在从事我从一个NodeJS服务器到第三方服务器的工作。 问题在于第三方服务器一秒钟内最多有50个呼叫的限制。 你能帮我实施在一秒内只指定数量的呼叫的逻辑吗? 我的项目中使用的技术/语言是带有HapiJS框架的NodeJS。 先谢谢你。