ホームページ >ウェブフロントエンド >jsチュートリアル >node.js MVCアプリケーションの構築と構造の方法
複雑なアプリケーションを構築する場合、アーキテクチャ設計はコードの品質と同じくらい重要です。コードがよく書かれているが、組織構造が良好である場合でも、複雑さが増すにつれて維持とスケーリングが非常に困難になります。したがって、ベストプラクティスは、プロジェクトが開始される前にアーキテクチャを計画し、プロジェクトの目標をガイドし、情報に基づいた選択を行うことです。
Ruby on Railsなどのフレームワークとは異なり、node.jsには、特定のアーキテクチャとコード組織を実施するための事実上の標準フレームワークがありません。これにより、完全なnode.js Webアプリケーションを構築するときにアーキテクチャの選択が比較的無料になりますが、課題も追加されます。このチュートリアルでは、MVCアーキテクチャを使用して基本的なメモ削減アプリケーションを構築し、node.js 'hapi.jsフレームワーク、sqliteデータベース(sequelize.jsを介して動作)、および効率的なテンプレートエンジンを使用する方法を示します。発達。
コアポイント:MVC(Model-View-Controller)アーキテクチャを使用してnode.jsアプリケーションを効率的に整理して、保守性とスケーラビリティを向上させます。
package.json
hapi.jsフレームワークを使用してサーバーを構築し、SQLiteデータベースとSequelize.jsを使用してデータを管理します。 Model-View-Controller(MVC)は、おそらく最も人気のあるアプリケーションアーキテクチャの1つです。 MVCパターンは、グラフィカルユーザーインターフェイスアプリケーションの組織的な問題を解決するために、SmallTalk言語向けにPARCで設計されていました。もともとデスクトップアプリケーションで使用されていましたが、この概念はWeb開発に成功裏に適用されています。
単純に言えば、MVCアーキテクチャには次のものが含まれます
モデル:データベースの処理またはデータ関連の機能の一部。
基礎 node.jsアプリケーションを構築する最初のステップは、すべての依存関係とスクリプトを使用してpackage.json
ファイルを作成することです。このファイルは、npmのinit
コマンドを使用して自動的に生成できます。
<code class="language-bash">mkdir notes-board cd notes-board npm init -y</code>が終了すると、使用可能な
ファイルがあります。 package.json
注:これらのコマンドに慣れていない場合は、NPM Getting Guideをご覧ください。
次に、hapi.jsフレームワークをインストールします:このコマンドはhapi.jsをダウンロードし、
<code class="language-bash">npm install @hapi/hapi@18.4.0</code>ファイルの依存関係に追加します。
package.json
次に、エントリファイルを作成します - すべてを使用してWebサーバーを起動します。アプリケーションディレクトリに
ファイルを作成し、次のコードを追加します。
server.js
これがアプリケーションの基礎です。まず、厳密なモードを使用し、依存関係を導入し、接続ポートを3000に設定します(最初のルートは任意の数字になります。 world! "メッセージで十分です。最後に、
<code class="language-javascript">"use strict"; const Hapi = require("@hapi/hapi"); const Settings = require("./settings"); const init = async () => { const server = new Hapi.Server({ port: Settings.port }); server.route({ method: "GET", path: "/", handler: (request, h) => { return "Hello, world!"; } }); await server.start(); console.log(`Server running at: ${server.info.uri}`); }; process.on("unhandledRejection", err => { console.log(err); process.exit(1); }); init();</code>
server.start()
ストレージ設定
ベストプラクティスは、構成変数を専用ファイルに保存することです。このファイルは、各キーに独立した環境変数が割り当てられているデータを含むJSONオブジェクトをエクスポートしますが、代替値を忘れないでください。 このファイルでは、環境(開発や生産など)に応じて、異なる設定を持つこともできます。たとえば、開発目的でSQLiteのメモリインスタンスを使用できますが、実稼働環境で実際のSQLiteデータベースファイルを使用します。
現在の環境に基づいて設定を選択するのは非常に簡単です。ファイルに開発または生産を含むENV変数もあるため、データベース設定を取得するために以下を実行できます。
したがって、Env変数が開発である場合、dbsettingsにはインメモリデータベースの設定が含まれます。さらに、開発目的のためにローカル環境変数を保存できる
ファイルのサポートを追加できます。これは、Dotenvのようなnode.jsパッケージを使用して実行できます。Dotenvは、プロジェクトのrootにファイルを読み取り、見つかった値を環境に自動的に追加します。
<code class="language-javascript">const dbSettings = Settings[Settings.env].db;</code>
注:
ファイルも使用することにした場合は、を使用してパッケージをインストールし、.env
に追加して、機密情報の投稿を避けてください。 .env
ファイルは次のとおりです
注:このプロジェクトは、ノードv12.15.0でテストされました。エラーが発生した場合は、更新されたバージョンがインストールされていることを確認してください。 (次の手順、スペースの制限により、次のコンテンツを簡単に要約します。具体的な実装の詳細については、元のテキストを参照してください) ルートの定義:get、投稿、配置、および削除するファイルのアプリケーションのルートを定義して、メソッドの作成、読み取り、更新、削除を処理するメソッドを削除します。 モデルの構築: コントローラーを構築します:ルーティングリクエストを処理するコントローラーを作成します。 ホームページの処理、 ビルディングビュー:PUGテンプレートエンジンを使用してビューを作成します。 メモのリストを表示します Service Static Files: クライアントjavaScriptコードを書き込み、モーダルウィンドウを表示/非表示にし、ajaxを使用してフォームを送信します。
このチュートリアルは、hapi.jsおよびMVCアーキテクチャに基づいた基本的なメモ削減アプリケーションを構築します。洗練される詳細(入力検証、エラー処理など)はまだたくさんありますが、これはnode.jsアプリケーションの学習と構築の基盤を提供します。 これに基づいて、ユーザー認証、より複雑なUI、その他の機能を追加できます。 .env
npm install dotenv
次に、次のコマンドを実行して、Webブラウザーで.gitignore
に移動することでアプリケーションを開始できます。<code class="language-bash">mkdir notes-board
cd notes-board
npm init -y</code>
lib/routes.js
Note
で定義します。 lib/models/note.js
lib/controllers/home.js
メモに関連するCRUD操作の処理。 lib/controllers/note.js
lib/views/home.pug
個々のメモの詳細を表示します。 lib/views/note.pug
ノートコンポーネントを定義します。 lib/views/components/note.pug
server.js
routes.js
以上がnode.js MVCアプリケーションの構築と構造の方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。