web-dev-qa-db-ja.com

Node.jsでウェブサイトを構築する方法は?

[〜#〜] php [〜#〜]プログラミングの数年後にNode.jsに飛び込み始めたばかりで、ビルドしたいNode.js次のプロジェクトのアプリですが、どうすればよいかわかりません。

Node.jsジャンプスタートのリソースはありますか?

前もって感謝します!

24
drelkata

Node.jsは、Apache + PHPの一種と考える必要があります。つまり、Nodeを使用してWebサイトとWebサーバーをプログラムできます。

Nodeは基本的なPHPといくつかの重要な違いがあります。それは、イベント化された非同期の非ブロッキングです。コールバックを処理する方法を学ぶ必要があります。イベントループなどをブロックしないでください。

あなたがすべきことは、最初にNodeで基本的なことを学ぼうとすることです。ここにいくつかの素晴らしいリソースがあります: https://stackoverflow.com/tags/node.js/ info (私のお気に入りは nodetuts.com であり、その著者であるHands on Nodeによる優れた本です)。

基本を学習した後、 Express がWebフレームワークとして本当に便利であり、アプリがリアルタイムに焦点を当てている場合は Socket.IO を見つけることができます。

30
alessioalex

Node.jsをすぐに検索して、nodeで意味のあるWebページを作成していると思います。ノードWebフレームワークである express を見てください。彼らは素敵ですが短いチュートリアルを提供しています(ガイドの下)。

6
saintedlama

Node.jsをWebサーバーで実行する必要があります。基本的には、完全に制御できるVPSまたは専用サーバーが必要です。 [PHPは標準のWebサーバーであるApacheを介して実行されます。 Node.jsisウェブサーバーです。]

または、あなたは Node.js Host を見つけます。

4
benesch

別のオプションは、Knockout.js(http://knockoutjs.com/)のようなものを使用して、ページにNode.jsサーバーへのJSONP呼び出しを行わせることです。 Node JSONをクライアントに送信するのはサーバー上のJavaScriptなので、本当に簡単です。クライアントでフレームワークを使用すると、そのJSONデータに基づいて動的なページを簡単に作成できます。

不利な点は、古いブラウザには優雅な退廃がないことです。利点は、すばらしいAJAXが最初から組み込まれている、非常に高速なWebサイトです。

以下は、Nodeを使用してJSONP応答を生成するためのサンプルコードです。

function writeJsonpResponse(res, jsonpcallback, obj) {
    var serialized = JSON.stringify(obj);

    res.writeHead(200, {'Content-Type': 'application/javascript'});
    res.write(jsonpcallback + '(' + serialized + ');');
    res.end();
}
1
Jason Young

READMEを読んでください。セットアップ環境。 package.json(または1つを作成するにはnpm init)を見て、依存関係をインストールします(npm install/axios、nodemon、express、mysql、react、babel)必要に応じてサーバーとWebpackを起動するスクリプトを追加しますファイル構造を理解します。懸念事項の分離-public/dist、server、db、clientはデータのフローについて考える基本的なHTML構造を確認します。 bundle.jsファイルをチェックしてください/それが必要なものすべてがロードされているレンダリングするdiv idが必要です(アプリやルートのような)スピンアップExpressサーバーと反応します。起動サーバーとwebpackは別のターミナルです。サーバーがリッスンしているconsole.logを確認してください!サーバーにルート(リクエストの取得と送信)を記述します。 Postmanでget&postリクエストが機能していることを確認してください! mySQLデータベース(db/index.js)を作成します。スキーマの設計とインポート(データテーブルの構成方法)。 yr schema girlをインポートするときは、dbフォルダーにいることを確認してください!サーバーにデータベースを接続します。接続が成功したことをconsole.logで確認してください!挿入/取得dbクエリ関数を記述します。 module.exportsクエリをサーバーに忘れずに!ルートでクエリ関数を呼び出し、サーバーでリクエストを取得してポストします基本的なReact構造を設定します。index.jsの唯一のタスクは、アプリコンポーネントをdiv idにレンダリングすることですアプリはステートフルアプリコンポーネントを必要とします他のすべてのコンポーネントをレンダリングして、デフォルトのすべてをインポートおよびエクスポートすることを忘れないでください!残りのコンポーネントを設計し、それらが機能的(ステートレス)であるかクラスコンポーネント(ステートフル)になるかを決定します。それを引き出します!どの小道具(データおよび関数)を使用しますか受け渡す必要がありますか?これらのコンポーネントを記述します。すべての部分を実行する1つのデータフローを処理します。入力ハンドラーを取得して、クライアント側にPOST要求(axiosを使用)をサーバールートに送信します。 API呼び出し(存在する場合)を実行し、そのデータをデータベースに挿入します。エラーを処理することを忘れないでください!イベント/条件付きレンダリングを処理します。1.ユーザーイベントが入力を提供します(onChange e.target.value)2.書き込みhandleChange f(x)状態をその新しい入力に更新する3.入力が送信される(onClick)3. wri te HandleSubmit f(x)これは更新された状態を取り、axios POST w/that {入力}を適切なサーバールートに要求します。 bindメソッドは適切に機能します!ルートでクエリ関数を呼び出し、リクエストを取得して送信します。クライアントからのデータがデータベースに格納されていることを確認します。私の友人のそれらのテーブルについて説明してください!クライアント側でAPIエンドポイントにAJAX get要求(axiosまたはfetchを使用)を実行します。着信データをsetStateに格納します。クライアントの適切な情報を常にレンダリングするために、componentDidMountでGET要求を実行する場合があります。 !サーバー、データベース、およびクライアントを正常にセットアップし、それらの間でデータを渡し、データを操作し、そのデータを保存し、適切なデータをクライアントに表示しました!これらのユーザーストーリーに取り組みます!

0
Justin Lu

Node.jsは基本的にApacheに代わるWebサーバーであるため、Nodejsを実行するために見つけられる唯一のホスティングは、nodejsをインストールして実行する必要がある専用サーバーまたはクラウドインスタンスです。 node.jsを実行するマシンには、ドメイン名が指定されている必要があります。または、サーバーにアクセスできる唯一の方法は、IPアドレス(この場合はローカルホスト)による方法です。

0
Shawn Janas