問題タブ [suave]
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.
visual-studio - Suave を VS 2017 で動作させられないのはなぜですか?
https://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-F-Toolsで、Suave を使用したプロジェクトを作成するビデオを見ました。何が行われているかを正確に追跡しようとしましたが、VS 2017 のインストールは今日更新されたばかりで、動作がまったく異なります。
mscorlib
まず、ビデオとまったく同じように Suave をインストールすると、ビデオと同じように、との間のリファレンスに表示されSystem
ます。
次に、ビデオは次のコードを示しています。
この時点で、VS 2017 はビデオで「Open Suave」を提案します。これは、startWebServer が認識されないためです。同じコードをエディターのファイルにコピーしましたProgram.fs
。「値またはコンストラクター 'startWebServer' が定義されていません」というエラー メッセージが表示されますが、左側の黄色の領域にカーソルを置いたときに提案はありません。(Community Edition を使っているからでしょうか?)
いずれにせよ、open Suave
コードに追加したので、次のようにしました。
この時点で、Suave の下に赤い波線が表示され、「The namespace or module 'Suave' is not defined.」というエラー メッセージが表示されます。
ソリューション エクスプローラーで Suave を右クリックし、[Send to Interactive] を選択するとSuave
、F# Interactive で開くことができます。
Deedle などの他のパッケージを問題なくインストールして使用できます。
何が間違っているかについてのアイデアはありますか?
f# - Suave で CORS を使用して複数のヘッダーを許可する
Suave API に CORS リクエストを受け入れさせようとしています。私はここでこのスニペットに従いました:
http://www.fssnip.net/mL/title/CORS-response-with-Suave
ここで再作成します:
しかし、トークンを渡す必要があるエンドポイントがあり、CORS で許可されたヘッダーが見つからないため、これらのエンドポイントでエラーが発生しています。私のトークン ヘッダーは単に「トークン」であるため、2 つのことを試しましたが、どちらも問題を解決していません。
試み #1
content-type
これは、受け入れられなくなったことを示すエラーを返しました-これは、最後setHeader
のソースコードが最初のものを上書きしたことを意味しているようです: https://github.com/SuaveIO/suave/blob/master/src/Suave .Tests/HttpWriters.fsの 113 行目に、これが望ましい動作であることを示唆するテストがあります。
試み #2
この質問に対する回答に基づいて: How to set a Json response in suave webpart、カンマ区切りのリストを介して両方のヘッダーを設定しようとしました:
しかし、これにより、CORS が完全に失敗したことを示すエラーが発生しました。
また、この同じ質問に基づいて、次のことを試しました。
これはこの応答を与えました:Request header field token is not allowed by Access-Control-Allow-Headers in preflight response.
では、Suave の CORS リクエストで任意の量のヘッダーを許可するにはどうすればよいでしょうか?
編集
試み #3
addHeader
代わりに使用しましたsetHeader
:
今言っていることは...No 'Access-Control-Allow-Origin' header is present on the requested resource.
最初setHeader
にに変更してaddHeader
も、同じ応答が得られます。
修理
仕事をしました-この後、送信されたものに問題がありましたが、CORS自体にはそれ以上の問題はありませんでした.
f# - F#: ビルド スクリプトに Suave.Types を使用できません
Thomas Petriek のビルド スクリプトを使用しようとしています: https://github.com/tpetricek/suave-xplat-g ettingstarted/blob/master/build.fsx
名前空間タイプが開いている Suave.Types で定義されていないというエラーが発生します。
これは廃止された名前空間ですか?
f# - Suave Experimental Form 選択入力
HTML 選択入力/ドロップダウン リストをサポートするために、 http: //vgaltes.com/suave/forms-with-suave-experimental-and-suave-forms /のチュートリアルを拡張しています。
問題はdivAttr
、Xml タイプを期待しているSuave.Form.input
が、Node
. 誰かがこれを解決する方法を知っていますか、またはに追加できる選択入力を行う方法の例を持っていますdivAttr
か?
Suave Music Storeの本から、これを行う方法の一例を見てきました。しかし、それは時代遅れのようで、Suave の最新バージョンとは関係ありません。
Suave & Suave.Experimental 2.1.0 を実行しています。
ありがとう!