2012-05-04 9 views
4

node.jsにはいくつかの側面があります。私は誰かが物事をより明確にすることを願っていますnode.jsのいくつかの側面を理解する

node.jsをインストールすると、Webブラウザがあなたのコンテンツを表示できるようにファイルを保存していますか?たとえば、Apacheにはwwwフォルダがあります。

node.jsはクライアント側のjavascriptを置き換えますか?

node.jsはHTMLとどのように対話しますか?あなたは、クライアント側からのNode.jsを呼ぶだろう<div id="content"><?php echo $content; ?></div>

:私はPHPで、このdiv要素<div id="content"></div> にサーバーからデータを入れたい場合たとえば、あなたはこのような何かを行うことができますか?例:node.jsへのAjaxリクエストでデータを取得する。

私はそれがサーバーから実行されるので、私はブラウザ上でjavascriptを使用してnode.jsサーバーからデータを取得できると考えています。しかし、私はこれを見た例は決して行われません。事前に

おかげで、Webブラウザは、あなたのコンテンツを表示できるように、あなたがあなたのファイルを保存しないのNode.jsをインストール

答えて

6

?たとえば、Apacheにはwwwフォルダがあります。

あなたが好きなところです。 node.jsは静的コンテンツを提供しません。JavaScriptを実行します。起動時に実行するスクリプトを指定します。

静的コンテンツを提供するJavaScriptを書くこともできますが、書き留めたコードに応じて保存することができます。

node.jsはクライアント側のjavascriptを置き換えますか?

クライアント側のJavaScriptに代わるサーバー側のプログラミングがある限りです。

サーバー側でJSを使用する利点の1つは、クライアントとサーバーの両方でライブラリを再利用できることです。これに焦点を当てていると主張するフレームワークについては、Mojitoを参照してください(まだ自分自身で試してみる時間がありませんでした)。 <div id="content"><?php echo $content; ?></div>

PHPが埋め込まれたプログラミング言語とテンプレート言語である:私はあなたがこのような何かを行うことができますPHPでは、このdiv要素<div id="content"></div>にサーバーからデータを入れたい場合たとえば

。 JavaScriptはプログラミング言語です。通常は、JSのテンプレート言語(例:moustache)を使用します。

クライアント側からnode.jsを呼び出すことはありますか?例:node.jsへのAjaxリクエストでデータを取得する。

はい、できます。他のサーバー側のプログラミング環境とまったく同じです。 (ノードを使用してHTTPサーバーを実行していると仮定します)。

+0

答えをありがとう。サーバーがブラウザーにデータをプッシュする例があります。これは、クライアント上のjがサーバーからの要求を聞く必要があることを意味しますか? – Decrypter

+0

HTTP経由でのデータ取得は、通常どおりに動作します。どの言語がサーバーを実行しているかは関係ありません。 (多分、それはあなたが「プッシュ」を意味するかどうかに依存します)。 – Quentin

0

node.jsはHTMLとどのように対話しますか?おそらく、JS-クライアントにJSONなどのコンテンツを送信し、中にそれを挿入する

:私は PHPでは、このdiv要素の中にサーバーから データを入れたい場合たとえば、あなたはこのような何かを行うことができますDOM(プレーンJSまたはJQueryを使用)。

は私が書いてきたREALLY Node.jsのaのchat application行っている間、いくつかの概念を試してみると、クライアントとサーバーの両方でJSでの作業を理解するのは簡単(とではない、非常に豊富な機能を備えた:-P) 。多分それはあなたにいくつかの手がかりを与えるでしょう。

このアプリケーションで編集

、サーバは、生産準備ができてアプリケーションを実装する際に、あなたがやるべきではない静的ファイルを、お楽しみいただけます(ノードが実際に静的ファイルを提供するには適していません!)。

1

Node.jsはサーバー(Apacheなど)ではありません。これは、いくつかの組み込みライブラリ(いわゆるモジュール)でJavascriptを実行するプラットフォームです。 Node.jsにサーバ(HTTPなど)を書き込むのは非常に簡単ですが、全く異なるプログラム(ネットワークに関係なく、ローカルで実行される)を書くこともできます。

私はこれを読むことをお勧めします:http://www.nodebeginner.org/。数時間を要しましたが、Nodeの基本を理解することを可能にしました。

クライアント側のスクリプトについては、通常は別です。ノード内のコードは別の環境で実行され、次にブラウザ内のコードが実行されます。彼らはコミュニケーションをとることができますが、あなたは明示的にそれを作る必要があります。これは、PHPのサーバーサイドコーディングとあまり変わりません。サーバー上のコードは、クライアントに送信される出力(HTMLなど)を生成します。出力にスクリプトがある場合、クライアント(ブラウザ)はそれを実行します。彼らは(XHR、ウェブソケットなどを介して)通信することができますが、それらのスクリプトは別々です。

+0

@クエンティンの答えはまったく正しいですが、私はそれがちょうどノードを学び始める人のために理解するのは少し難しいかもしれないと思います。私はそれらの1つで、数週間前にこれに似た質問がありました。だから私はそれをもっと簡単にしようとしました。 –

関連する問題