うまくいけば、私はあなたがここでやろうとしていることから遠く離れていません. 私の理解 (これとあなたの前の質問の間で一緒に石畳になっているのは、クリックすると外部 API からステータス情報を取得し、クライアントに表示されるものをブラウザーで使用したいということです。
(上記の仮定に基づいて)行うことをお勧めするのは、目的の機能を、Express サーバーへの HTTP リクエストによってトリガーされるものとして定義することです。Express サーバーは、機能を実行し、そのプロセスから必要なものをクライアントに送り返すことができます。 .
サーバーで定義します(Express変数が であると仮定しますapp
)
app.get('/request', someFunction);
someFunction
やりたいこと、それがリクエストとレスポンスにどのように関係するか、クライアントに何を送り返すかを定義します。Express は、関数がリクエストとレスポンスを引数として受け取ることを期待しますが、必ずしもそれらを使用する必要はありません:
someFunction(req,res) {
//do whatever I'd like with aws or anything else
res.send(foo); //where foo is whatever JSON or text or anything else I'd like the client to have to manipulate
}
/request
クライアントでは、そのエンドポイントにリクエストを行う onclick にバインドされた関数があります。この関数は、AJAX を使用するか、単に別のページを完全にレンダリングすることができます。
この種の組織では、サーバーがデータの取得と操作を処理する一方で、表示と動作もクライアントに任せます。このレイアウトは、クライアント側の require() ステートメントに関する問題も解決します (これはBrowserifyのようなものでは可能ですが、必要ではなく、コードをより混乱させる可能性があります)。