先週、私は CMS システムを構築して Sails フレームワークに触れ、ORM の概念をいくつか学びました。今週、私はバックグラウンドのデータインタラクションを詳しく調べ始め、20 のフレームワークのデータ構造が帆に基づいて設計されていることがわかりました (ノードやカテゴリーなど)。私の先輩は本当に素晴らしいと言わざるを得ません。ただし、複雑さも増しました。 DTree プロジェクトでの私のタスクは、セイルを使用してビジネス プロセスやデータベースと対話することです。今週の残りは帆を使うことだけです。
帆の紹介
Sails は、Ruby on Rails と同様、Web 開発を容易にするために設計されたフレームワークです。この期間中に私が知る限り、Express&Socket.io の一部の API を完全に継承し、統合されたデータベース インタラクションにウォーターライン (ORM) を使用しているため、コードとバックボーンを直接変更することなく、異なるデータベース環境で CRUD 操作を完了できます。このフレームワークは、フロントエンドとバックエンドのデータを同期し、安全な検証と対話のためにポリシー ミドルウェアを使用します。その独自のブループリントは、フロントエンドとバックエンドで 1 行もコーディングすることなく、RESTfull API を通じてデータと対話できます。
Socket.io と Express
私はフロントエンドの時間に次の 2 つのことを学びました。1 つは WebSock 通信で、もう 1 つは HTTP リクエストの処理です。 Sails は再設計せず、これら 2 つのツールを直接使用してこれらの機能を処理し、学習コストを大幅に削減しました。 Socket.io はサーバー側とクライアント側の両方でメッセージをトリガーし、メッセージをリッスンし、それに応じて動作します。
Express の役割は、app.get('/login', function(req, res){}); などのルーティング操作にあります。
帆のブループリントとバックボーン
Web 開発における CRUD は、http での get/post やデータベースでの select/insert など、同様の操作の一種です。 Sails のブループリント API と js のバックボーン フレームワークはどちらも統一された関数 (findOne など) を使用するため、プログラムがモデルと対応するコントローラーを確立する時点で、内部ロジックはすでに確立されています。たとえば、セイルで一般的に使用されるユーザー モデルには、ユーザー データを送信および保存するための自己構築コントローラーがあります。注意する必要があるのは、ファイル名とビジネス プロセスの指定だけです。元のメソッドをオーバーライド(オーバーロード)したい場合は、それも可能です。 config フォルダー内のルートにアクションとコントローラーを設定したら、対応するコントローラーに必要な機能を追加できます。
ウォーターライン
依存関係パッケージである Sails の API は、create()、findOne()、update() などのデータベースとの対話に使用されます。前述したように、さまざまなデータベース ツールを気にすることなく、これらのメソッドを直接呼び出すことができます。たとえば、データを入力するとき
mysql または mongoDB を選択する必要がある場合、システムはデフォルトでローカル ファイル システムにデータを保存します。構成ファイル内で変更し、データと対話するデータベースのアダプターを選択するだけです。
ポリシー
コントローラーに適用されるミドルウェア。http リクエストが発行される前に実行されます。たとえば、ログイン後にのみ次のアクションを実行できるようにするなど、ID 制御を実装できます。
Sails は正常に使用されていますが、これについてはさらに作業を行う必要があります。強固な基盤を築くことによってのみ、特定のニーズを実現することができます。したがって、私は学習を続け、セイルを深く学ぶためのより多くのルーチンを見つけ、このフレームワークの限界も知る必要があります。