web-dev-qa-db-ja.com

ReactJS vs NodeJS-なぜ両方を作成する必要があるのですか?

Reactはフロントエンドであり、NodeJSはJavaScriptコードがブラウザの外部で機能できるようにするバックエンドであることを理解しています。わからないこと(そして、これは、 ReactプロジェクトとNodeJSプロジェクト)は、それぞれのインスタンスを作成する必要がある理由です。

たとえば、私のReact=プロジェクトでは、どうにかしてWebサイトを作成しました。しかし、バックエンドが必要だったので、NodeJSを使用することにしました。しかし、NodeJSチュートリアルを行っているので、 NodeJSを使用するWebサイトも、現在、Reactであり、NodeJSがSAME THINGを実行しているように見えるため、混乱しています。

これまでにNodeJSを使用したことがないので、少し混乱しています。 NodeJSを使用してバックエンドをホストするだけだと思っていましたが、NodeJSを使用してWebサイト全体を作成する必要があることがわかり、ReactとNodeJSを一緒に。

ReactとNodeJSを統合して、完全に機能するWebアプリを作成するにはどうすればよいですか?)まだ、2つがどのように相互作用するかを明確に破壊するオンラインの何かを見たことはありません。

8
McFloofenbork

Reactはフロントエンドライブラリです。ユーザーインターフェイスを作成するための優れたツールを提供します。そして、単一ページのアプリケーションを作成します。つまり、reactアプリを開いたときです。それはリロードせず、本当に速いです。

Nodejsやハンドルバーなどを使用してWebサイトを作成することもできます。しかし、そのWebサイトはサーバーでレンダリングされ、ユーザーに提供されます。しかし、それだけではありません。サーバー上で実行したいことがたくさんあります。認証のように。あなたはその部分が安全であることを望みます。したがって、サーバー上に保持します。

あなたの質問の最後の部分への答えです。

完全に機能するアプリの場合。ユーザーインターフェースを作成するには、reactを使用します。そして、あなたの反応アプリが呼び出すAPIを作成するためのnodejs。

9
Muhammad Kamran

NodeJSは、ブラウザーの外でJavaScriptコードを実行できるランタイムにすぎません。

コードをコンパイルして最適化するためのツールとして、nodeJSを使用してください。

5
filipe

NodeJSは単なる通常のJavaScriptではなく、Googleが提供するV8と呼ばれるC++エンジンの上にあるJavaScriptランタイムです。 Nodeはブラウザの外部で実行されますが、React/Vue/Angular /などブラウザ内のJavaScriptフレームワークです。

反応は全く別の動物です。これは、ブラウザで独自のDOMをレンダリングするフレームワークです。これは、DOM操作を最適化するように構成されたJavaScriptエンジンです。

フロントエンドとバックエンドの開発パターンは似ているように見えますが、それらは異なることをしています。 Reactはブラウザ内のデータを処理し、API呼び出しを行います。Nodeはブラウザからのリクエストを処理し、データベース呼び出しを行い、認証を処理します。これらのため、さまざまな責任、Nodeは、フロントエンドフレームワークとは異なるモジュールを使用します。

最終的に、NodeおよびReactは、通常Axiosと呼ばれるパッケージを使用して、HTTP呼び出しを介して通信します。他にもありますが、現時点では非常に一般的です。

ノードが内部でどのように機能するかについて読むことをお勧めします。

5
Len Joseph

重要なのは、反応し、他のSPAライブラリがクライアント側(ブラウザ)で動作していることです。

サーバーAPIからデータをフェッチして反応させます。

APIの構築にNode.jsを使用する必要はありません。好みのテクノロジーに基づいて、さまざまなフレームワークを使用できます。

バックエンドに慣れていない場合は、 https://www.npmjs.com/package/http-server を使用して偽のAPIサービスを作成し、それを使用してフロントエンドパーツを構築できます。 。

1
Mitro

NodeJSはバックエンドとして機能し、ReactJSはサーバー(nodeJS)を実際に操作できるインターフェイス/ UIを作成します。したがって、最初にNodeJSサーバーまたはAPIを作成します。 needしないでください。ReactJSを使用してノードサーバーとやり取りするフロントエンドを作成します。たとえば、NodeJSを使用して、別のライブラリを介してビューを作成することもできます。 ReactJSは、NodeJSアプリのフロントエンドの選択肢の1つにすぎません。

0
Ajay Sihota

NodeJSは、Expressまたは組み込みライブラリを使用してWebサイトを提供するサーバーを作成できるJavaScriptフレームワークです。 NodeJSだけでWebサイトを構築することもできます。

NodeJSサーバーでサーバー側レンダリングを行う機能を利用できます。 https://reactjs.org/docs/react-dom-server.html

ReactJSコンポーネントのサーバー側レンダリングがあるNextJSと呼ばれるReactJSフレームワークがあります。 https://nextjs.org/#features

NodeJSとReactJSとNodeJSバックエンドを使用する他のページだけで構築されたWebサイトの一部の領域が潜在的に存在する可能性があります。しかし、フロントエンドにReactJSを使用し、バックエンドにNodeJSを使用する方がきれいです。

0
Nathan Yeung