問題タブ [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 - Hapijs と Bell を twitter プロバイダーで使用します。Bell モジュールを使用して Twitter からの承認拒否を処理するにはどうすればよいですか?
Twitter プロバイダーと連携して、 BellモジュールでHapi フレームワーク (nodejs) を使用しています。
github ページに示されている例を使用して、動作するコードを取得するのは非常に簡単でした。/loginルートにアクセスすると、Twitter にリダイレクトされます。そこでアプリを承認すると、/login?oauth_token=xxxxxxx&oauth_verifier=xxxxxxxにリダイレクトされて、request.auth.credentials でユーザー プロファイルにアクセスできるようになります。 .
アプリを拒否しようとしたときに問題が発生しました。Twitterの「サインイン」ボタンをクリックする代わりに、「キャンセル」ボタンをクリックしてから、「サイト名に戻る」ボタンをクリックしました。この最後のボタンをクリックすると、/login?denied=xxxxxxにリダイレクトされます。次に、アプリを承認するために (再び) Twitter にリダイレクトされます。
同じページhttps://github.com/hapijs/bell#handling-errorsの別の例を使用してこのシナリオを処理しようとしましたが、うまくいきません。
request.auth をチェックする前に /login ルートを解釈して Twitter にリダイレクトしているようです。私はまだ Bell モジュールをよく理解していませんが、Twitter 戦略がrequest.params でoauth_tokenとoauth_verifierを期待している可能性がありますが、拒否されたパラメーターは戦略によって解釈されないため、リダイレクトが発生します。
誰かがこのシナリオを処理できましたか?
plugins - Hapijs crumb プラグインで未定義のクラムが表示される
プロジェクトで crumb プラグインを使用し て、プラグインとしてインポートしたトークンcrumb プラグインを取得しようとしています。ジェイドテンプレートでは、そのように取得します
しかし、値はundefined
です。なぜその値を取得するのですか? 設定を行う必要がありますか? 開発者の例によると、とても簡単に思えます
node.js - きめ細かな ACL / ユーザー権限のための Hapi と互換性のあるライブラリはありますか?
HapiJS を API サーバーとして使用することを検討しています。特定のモデル/リソースに対して、「ユーザー A はフィールド B を編集できます」「ユーザー C はフィールド D を表示できます」など、きめ細かなユーザー権限が必要です。
何かを構築する前に、Hapi と互換性のあるこのようなものが既に作成されているかどうかを確認していました。
hapijs - coffeescriptでHapi.jsを使ってAPIを開発する方法
私はhapi.jsが初めてで、テストしてみます。Hapi.jsとcoffeescriptで開発できますか? コーヒースクリプトでhapi.jsをセットアップする方法の例を教えてください。
javascript - hapi サーバーでエラーが発生する
私は単純なログアプリを構築しており、コードを読みやすくするためにモジュール性を実装しようとしました。ただし、アプリを起動すると問題が発生します。私は 2 つのファイルindex.js
を持っています。ここにサーバー構成がroutes.js
あり、ルーティング ロジックがある場所があります。私がルートを書いた方法は、hapi apiにある API ドキュメントに従っています。
次のエラーが発生する理由を誰かが理解してくれることを願っています:
モジュールを正しくエクスポートしていませんか?
これが私のコードですroutes.js
:
そして、これは私のコードですindex.js
:
database - フォームデータを取得するhapijs
をmydata
から myに取得しようとしています。管理していないようです。を送信すると、が undefined として渡され、サーバーでエラーが発生します。私が理解していることから、データは自動的に解析されます。form
hapijs server
form
data
hapi
誰かが私が間違っていることを理解するのを手伝ってもらえますか? 未定義になるのはなぜですか?
フォームデータを扱う関数はsendworkout
.
これらは私のルートです:
これは私のサーバーモジュールです:
これは私のhtmlフォームです:
jquery - hapijs 自動インクリメント ペイロード インデックス
req.payload.reps + number
andのこの広範なリストを必要とせずに、スキーマに渡されたデータの数に応じてそれらの名前で自動インクリメントreq.payload.kilos + number
する単一のペアを持つように、次のように書くにはどうすればよいでしょうか?req.payload.reps - req.payload.kilos
また、カウンターを使用してフィールドのname
属性をインクリメントしない場合、との値はデータベースに 2 つの配列として格納されます。後で対応する値を一致させる方が簡単ですか、それとも事前に尋ねたようにスキーマを設定する方が理にかなっていますか?input
reps
kilos
req.payload.reps[i]
たとえば、次のようなものがあります。そうすれば、ユーザーがこれらの入力フィールドに 10 未満の値を送信する場合、空のオブジェクトをデータベースに投稿せず、ユーザーはスキーマ形式を維持することで、必要な数の入力値を送信できます。
hapijs
サーバー側で使用しています。
私のルーター機能:
input
フィールドのにカウンターを追加する私のjQuery name
:
そして私のHTML:
node.js - ハンドルバーはヘルパー関数のサーバー データを取得します
response
クエリのサーバーをセットアップしており、応答データをレンダリングするためcouchbase
に使用したいと考えています。handlerbars
script
ヘルパー関数を別のファイルに入れ、html ファイルのタグに埋め込まないことがベスト プラクティスであることを理解しています。
data
私の質問は、サーバーからの応答を hanldbars ヘルパー ファイルに渡して操作するためのベスト プラクティスまたはテクニックは何ですか?
hapijs
サーバーとクライアントで使用しjQuery
ています。
javascript - レスポンスを送信する前にヘッダーを設定するhapi
hapi ハンドラーでは、ビューを送り返す前に、コードの早い段階で応答のヘッダーを設定しようとします。
メソッドを使用する必要がありますhold
か? その場合、ビューをレンダリングするときに応答を再利用するにはどうすればよいですか?
ご協力いただきありがとうございます。
javascript - Hapijs と Joi: プレゼンス: 'forbidden' でクエリ パラメータを検証する
私の目標は、投稿のインデックスルートを作成することです。ユーザーはいくつかのクエリ パラメータ (つまり、タグ、タイプ) を指定できる必要がありますが、他のパラメータは指定できないはずです。明確にするために:
これは大丈夫です:
これは大丈夫ではありません:
これはhapiパックの設定です:
presence: forbidden
オプションに注意してください。
これはルート構成です:
type
私の考えは、検証では、およびパラメーターのサブセットtags
(空のクエリを含む) を許可する必要があるというものでした。ただし、許可されたリクエストを行った後、次のエラーが発生します。
何故ですか?もちろん、という名前のキーはありませんvalue
。検証を希望どおりに動作させるにはどうすればよいですか?