79

Node.js を使用してゼロから Web サイトを開発するにはどうすればよいのだろうと考えていました。どうすればそれができるかは理解していますが、ベストデザイン プラクティスに興味があります。

私はこの理論的なウェブサイトが必要です:

  1. 多くのAJAXを行う
  2. 非常に率直であること
  3. 比較的小さいこと
  4. 接続先... MySQLサーバーとしましょう

PHP では、非常に小さな Web サイトを構築するのは非常に簡単でした。Apache と MySQL サーバーで PHP をセットアップし、次のようにします。

  • includes/db/これには、データベースに接続するためのconnect.php、一般的なデータベース関連の機能を含むファイルなどが含まれています
  • includes/layout/footer.php、header.php、およびその他のレイアウト関連のもののようなものがありました
  • includes/users/ユーザー関連のアクションを処理する

次に、PHP でページを作成し、これらのファイルを一緒にインクルードして Web サイトを形成します。次のようにすることができます。

<?php
   require_once('inclues/users/user_session.php');
   require_once('inclues/db/connect.php');
   require_once('inclues/design/header.php')
?>

// Other php or html or related content relating to the page

<?php
   require_once('inclues/.../footer.php');
?>

私はNode.jsで何が似ているのか疑問に思っていました.これを達成する方法を探します.

答えが単純でない場合は、本をお勧めします。読書は気にしません。

私はイベント ベースのプログラミングが大好きで、JavaScript の機能が大好きで、Node.js にとても興奮しています。この種のものを最初から正しい方法で開発する方法を学びたいです。

4

1 に答える 1

184

悪いニュースから始めましょう: Node.jsはかなり新しい技術であるため、本格的な Web サイトを作成し、それを維持/運用するプロセスは、現在慣れているものとは大きく異なることに気付くと思います。

Josh3736 の追加: Node.js とそのさまざまなパッケージ (Connect、Express) がどのように機能するかを理解すると、新しいサイトを非常に迅速に開発できることがわかりました。

Node.js に現在存在する荒削りなエッジは、その開発のペースの速さと関連するすべてのモジュールと相まって、物事を複雑にする可能性があり、物事が思ったよりも単純、迅速、単純でなくなる可能性があります。

それはさておき、ここに朗報があります。

Node Package Manager (NPM)には、Node.js の基本的な機能を拡張するための優れたツールとフレームワークが多数あり、Web サーバーの作成に適しています。

最も注目すべきは、Web サーバーを実行するために必要なほとんどすべて (Cookie、セッション、パス ルーティングなど) を含むExpress Frameworkです。さらに、Express はパーシャルをサポートしており、ヘッダーとフッターのインクルードを処理します。

Express はSencha の Connect の上に構築されています。Cookie とセッションは、実際には Connect によって強化されています。Express は、ルーティングを簡素化し、ビュー/パーシャルを処理するものです。したがって、Express に付属するすべての機能が必要ない場合は、代わりに Connect を使用できます。

これらのパーシャルにテンプレートを使用したい場合は、Jade Template Engineを使用すると速度が向上します。Josh3736は、Jade は遅く、空白が重要であると指摘しています。彼のお気に入りであるdoTを含む、より完全な概要については、こちらを参照してください。(私は個人的に Node.js をベースのアプリケーションにのみ使用しているので、テンプレートに関しては彼が私よりも優れた情報源です)。socket.io

db-mysqlモジュールを使用して Node.js から MySQL に接続できますが、既に存在するシステムに接続されているデータにアクセスしているためにそれが必要ない場合は、もっと... 'モダンなモジュールを使用することをお勧めします。これは、ほとんどの Node.js プロジェクトで行われているように、 NoSQLデータベースを使用することです。Mongoose経由のMongoDBが一般的な方法です。

または、関心のあるオブジェクトを格納するだけの場合は、代わりにRedisを使用してください (いずれにせよ、いずれ必要になるでしょう)。

Web サイトが完成したら、それをデプロイして、確実に実行し続ける必要があります。これを行うには、組み込みのクラスター サポートを使用したり、機能がより使いやすいforevernpm モジュールを使用したりするなど、さまざまな方法があります。詳細については、この SO の私の質問を参照してください。

結論

私が取得しようとしているのはこれです:

Node.js で Web サイトを構築するためのベスト プラクティスは何かと尋ねることは、PHP で Web サイトを構築するための最良の方法は何かと尋ねることとほぼ同じです。

NPM は、関連する多くのタスクを大幅に簡素化するさまざまな優れたフレームワークに恵まれていますが、どれが実際に進むべきかはすべて好みに基づいています。

前述したように、Node.js はまだかなり新しい技術であるため、フレームワークや追加ツールはまだ「デファクト スタンダード」として登場していません。Node.js 自体とほとんどのモジュールの開発はペースが速いため、更新中にそれらのほとんどを使用すると、コードが壊れることが予想されます。あなたは追いつく必要があります。

すべてをまとめる

すでに述べたように、Node.js の主な運用用途は を使用できるようにすることなsocket.ioので、適切な運用例はありません (そして、当然の休暇に出発しようとしているので、 1つをまとめる時間もありません)。ただし、いくつかの良い例があります。

繰り返しになりますが、進むべき道 (およびそれに続く例) は、最終的な目標と選択した手法に大きく依存しますが、幸いなことに、利用可能なすべての選択肢に対して利用できるリソースがたくさんあります。ほとんどのモジュールは、十分に文書化された GitHub リポジトリを使用し、最も人気のあるモジュールと組み合わせた例が含まれています (/examples/ほとんどのリポジトリに存在すると思われるディレクトリを参照してください)。

幸運を!(そして、私のエラーを修正してくれたJosh3736に感謝します。)

于 2012-07-03T13:50:21.890 に答える