前回の投稿では、MongooseとMongoDBの使用を開始する方法について説明しました。この投稿では、Yeomanを使用して、MongoDB用の新しいMongoose/Expressプロジェクトをスキャフォールディングする方法を紹介します。
Yoomanは、Grunt、Bower、およびNodeを使用してプロジェクトをスキャフォールディングするスキャフォールディングツールです。新しいプロジェクトを作成するために、ボイラープレートコードを切り取って貼り付けることになる場合があります。これはまさにYeomanが行うことですが、単一のコマンドといくつかの素晴らしいジェネレーターを使用します。
Yoomanは、実行/ビルド/テストタスクを実行するタスクランナーとしてGruntを使用します。同じようにGulpを使用したい場合は、Slushをチェックしてください。 Slushも足場ツールですが、タスクランナーとしてGulpを使用します。
ヨーマン入門
私たちの生活を楽にするために、 generator-mongooseという名前のSuperAwesomeYeomanGeneratorを使用します。 、これは、新しいプロジェクトの設定に役立つだけでなく、足場スキーマにも役立ちます。
このジェネレーターは、サーバーとしてExpress.jsを使用し、テンプレートを作成するためにHTMLを使用し、見栄えを良くするためにBootstrapCSSを使用しています。
新しいフォルダを作成して、yoMongooseという名前を付けましょう。フォルダにCDを挿入し、次のコマンドを実行します。
Yeomanをインストールするには:
[sudo] npm install -g yo
generator-mongooseをインストールするには:
[sudo] npm install -g generator-mongoose
最後に、新しいプロジェクトの足場を作るには、次のコマンドを実行します。
yo mongoose
次のような質問に記入してください:
[?] Database Name: (myDb) myTestDB [?] Database Host: (localhost) localhost [?] Database User: {hit return} [?] Database Password: {hit return} [?] Database Port: (27017) 27017 [?] Will you be using heroku? (Y/n) n
そして、Yeomanは立ち去り、新しいプロジェクトの足場を作ります。フォルダ構造は、/node_modulesフォルダとpublic/bower_componentsで構成されている必要があります。どちらも表示されない場合は、npminstallとbowerinstallを実行してください。
アプリを実行するには、次を実行します:
grunt
これにより、エクスプレスサーバーが起動し、デフォルトのブラウザでホームページが起動します。表示されるデフォルトのページは、アプリケーションで構成されているルートのリストです。
フォルダに戻って、アプリの簡単なウォークスルーを見てみましょう。
-
config /db.js
DB構成といくつかのオプションで構成されています。
-
モデル /post.js
ブログ投稿のスキーマの例。サブジェネレーターを使用してスキャフォールディングする他のすべてのモデルがここに表示されます。
-
公開 /
UIに必要なJavaScriptとCSSで構成されます。
-
ルート /index.js
index.htmlpost.jsをディスパッチするデフォルトルートで構成され、投稿コレクションとやり取りするために必要な5つの主要なエンドポイントで構成されます。
-
テスト /
Postルートとそのメソッドのテストで構成されています。
-
ビュー /
クライアントに送信されるすべてのテンプレートとビューで構成されます。
モジュラーExpressアプリのどこに行くのかを把握するには、次の項目を順番に確認することをお勧めします。
config/db.js models/post.js routes/post.js app.js
完了したら、サブジェネレーターを使用して、articlesという名前の別のモデルの足場を作成します。
ターミナル/プロンプトに戻って実行します:
yo mongoose:schema "article|title:String,excerpt:String,content:String,published:Boolean,created:Date"
上記のコマンドは、これら3つのファイルを作成し、次のようになります。
Your creating a schema for article With the fields: title,excerpt,content,published,created starting request to schematic for test mock data... create routes/article.js create models/article.js create test/test-article.js
models / article.jsは、コマンドのパイプ記号の後にリストされているすべてのフィールドで構成されます。いいね?
結果と更新されたルートのリストを表示するには、次のコマンドを実行します:
grunt
新しく生成されたファイルを掘り下げて、実質的にゼロの労力で、Express/Mongooseアプリを生成することができました。
Scaffolding Express/Mongooseアプリの基本を理解していただければ幸いです。
読んでくれてありがとう。コメントしてください。
@arvindr21