
We are searching data for your request:
Upon completion, a link will appear to access the found materials.
悪魔猫の冒険時間
この投稿は、nodejsアプリケーションのライフサイクルをカバーする一連の記事の3番目です。この記事は、次のライフサイクルパーツを実装する方法の入門書です。
リポジトリのないアプリケーションの使用を開始する
コードの変更と変更のバージョン管理を保存するリポジトリの構築
リポジトリを本番アプリケーションに適用する前に、リポジトリが正しく機能していることをテストする
アプリケーションサーバーの構成
Node.jsは、アプリケーションのライフサイクルに対して非常によく考えられたアプローチを採用しています。私は数年前からnodejsアプリケーションをコーディングしてきましたが、それでも、以前は知らなかったアプリケーションのライフサイクルについて新しいことを学んでいます。以下で説明するパターンとプラクティスの一部は常識のように見えますが、Node.jsコミュニティが進化し、新しいパターンが実装されるにつれて、それらすべてを覚えておくとよいでしょう。これまで、これらのパターンを使用して大成功を収めてきたので、実装プロセスを見てみましょう。
まず、必要最低限のnodejsアプリケーションについて説明します。シリーズの第2部では、gitとmongooseを使用したリポジトリの実装について説明します。シリーズの第3部では、サーバーレスフレームワークを使用したアプリケーションサーバーの構成について説明します。また、awsを使用して独自のサーバーレスアプリケーションを構築する方法についても説明します。
前提条件
コードを記述し、演習を進めるのに役立つIDE。 VSCodeは私のお気に入りの選択です
AWSアカウント(無料利用枠アカウントで十分です)
SSHで開発できるLinuxディストリビューションを実行しているVPSサーバー。 UbuntuLTSをお勧めします。
プログラミングと基本的なLinuxコマンドの基本的な理解
入門
Express(https://github.com/visionmedia/express)とmongoose(https://github.com/Automattic/mongoose)を使用する最低限のアプリケーション。
始めましょう:
1.ExpressとMongooseをインストールします
Expressを使用してアプリケーションを構築し、mongooseを使用してデータベースと対話します。
CentOS 7マシンにexpressとmongooseをインストールするには、次のコマンドが必要です。
yum install express mongoose
2.依存関係のインストール
マングースライブラリにはMongoDBデータベースが必要です。 CentOS 7マシンでは、次のコマンドを実行してインストールします。
yum install mongodb-org mongodb-org-server mongodb-org-shell
3.Expressの構成
express.jsは、/ appフォルダーにあるファイルであり、サーバーへのHTTPリクエストを処理するためのNode.jsモジュールです。次のexpress.jsコードを使用してアプリケーションを構成します。
const mongoose = require( 'mongoose')、const express = require( 'express')、const path = require( 'path')、const app = express()、const port = 8080、app.set( 'port'、 port)、app.set( 'views'、path.join(__ dirname、 'views'))、app.set( 'view engine'、 'jade')、mongoose.connect( 'mongodb:// localhost:27017 / learnnodes ')、//接続を構成する
このコードの最初の行は、マングースを初期化します。 mongooseは、MongoDBデータベースとの対話に役立つモジュールであり、このチュートリアルでデータベースにアクセスするために使用されます。
2行目のapp.set( 'views'、path.join(__ dirname、 'views'))は、viewsディレクトリ内でapp.jsファイルを検索するようにexpressに指示します。
次の2行は、エクスプレスアプリケーションを8080のポートにバインドするために必要です。
最後の行は、マングースをローカルデータベースに接続します。
app.jsファイルには次のコードが含まれています。このアプリがどのように機能するかを確認するために、コードを1行ずつ確認します。
const mongoose = require( 'mongoose')、const express = require( 'express')、const path = require( 'path')、const app = express()、const port = 8080、app.set( 'port'、 port)、app.set( 'views'、path.join(__ dirname、 'views'))、app.set( 'view engine'、 'jade')、mongoose.connect( 'mongodb:// localhost:27017 / learnnodes ')、//接続を構成する
上記のコードでは、expressを初期化し、mongooseをローカルデータベースに接続する2行が必要です。
const mongoose = require( 'mongoose')、const express = require( 'express')、const path = require( 'path')、const app = express()、const port = 8080、app.set( 'port'、 port)、app.set( 'views'、path.join(__ dirname、 'views'))、app.set( 'view engine'、 'jade')、mongoose.connect( 'mongodb:// localhost:27017 / learnnodes ')、//接続を構成する
2つのライブラリが必要です。 1つはエクスプレスで、もう1つはマングースです。 Expressを初期化し、viewsディレクトリのパスを指定します。
最後の2行で、マングースをローカルデータベースに接続します。
それでは、index.jadeファイルのコードについて説明しましょう。
レイアウト本体のリンクを拡張します(rel = 'stylesheet'、href = '/ stylesheets / style.css')h1Node.jsコースはlayout.navnavh3を拡張します最初のNode.jsアプリを作成する方法を学びましょう!
extends layoutは、Jadeにレイアウトファイルを拡張するように指示します。 layout.jadeファイルは、アプリ全体のルックアンドフィールを処理するmnファイルです。次に、タグextendslayoutを使用してレイアウトファイルを拡張します。この後にタグ本体が続きます。タグ本体には、ファイルstyle.cssを指すリンクタグがあります。リンクタグはrel属性で定義されます。使用しているスタイルシートを指定するためのheadタグがあります。この後にタグnavが続きます。これにより、ナビゲーションメニューとヘッダーセクションに表示されるヘッダーテキストが定義されます。次に、コースの名前を表示するh1タグがあります。タグextendslayout.navは、ナビゲーションバーのナビゲーションメニューを定義します。タグnavには、最初のnode.jsアプリの作成方法を学習するためのページを指すタグが付いたナビゲーションバーを指すタグがあります。
これで、route.jsファイルを作成できます。 mongodbからユーザーを読み取るルートを作成します。これは、ユーザーの読み取りルートと呼ばれます。前のセクションで説明したように、このメソッドをmnルートで呼び出します。
//ユーザールートの読み取りconstReadUser = require( './ routers / readUser')、//ユーザーを読み取るためのユーザールートメソッドの読み取りconst ReadUser = function(req、res){ReadUser.read(req、res、 'read' )、}、module.exports = ReadUser、
//ユーザーを読み取るためのユーザールートメソッドの読み取りconstReadUser = function(req、res){ReadUser.read(req、res、 'read')、}、module.exports = ReadUser、
次に、読み取り操作を実行するReadUser.jsファイルを作成します。このファイルでは、ユーザーコレクションからユーザードキュメントを読み取るために、データベースへのクエリを実行しています。
//ユーザーを読み取るためのユーザールートメソッドの読み取りconstReadUser = function(req、res){db.userCollection.findOne({userName:req.params.userName}、function(err、docs){if(err)throw err、 res.render( 'login'、{name:docs.userName、