ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js と Nest.js: 2 つのフレームワークの物語
バックエンド開発に関して言えば、私たちは皆、OG である Node.js に会ったことがあります。
高速で軽量、そしてイベント駆動型の魅力があります。しかし、次に、Nest.js の部屋に入ります。
Node.js ですが、グローアップが付いています。 Nest.js が単なる派手な服を着た Node.js なのか、それとも真に革新的なものなのか疑問に思ったことがあるなら、豆をこぼそうとしているので、シートベルトを締めてください。
Node.js は、いつでもそばにいてくれる信頼できる友達のようなものです。クイックサーバーを起動したいですか? Node.js。
どこでも使える軽量なものが必要ですか? Node.js。
しかし、正直に言って、この友人には落とし穴があるのです。パーティーの後片付けを手伝ってくれないのです。
バニラ Node.js のコードはすぐにスパゲッティ状況に変わる可能性があり、fs モジュールと http モジュールは優れていますが、npm install と言うよりも早くサードパーティのパッケージに手を伸ばすことになるでしょう。
そして、私たちを「コールバック地獄」に導いたコールバックの楽しいカオスを忘れないでください。
Promise と async/await は、Node.js がようやく成長したようなものですが、消えない傷跡もあります。
Nest.js は、TypeScript を愛し、デコレータを使いこなす天才のようにチャットに登場します。
Node.js と Express の上に構築されており、近藤麻理恵も認めるほど組織化された構造を提供します。
Nest.js を使用すると、完全なエコシステム、組み込みの依存関係注入 (はい、手動で DI コンテナーを使用する必要はもうありません)、API ドキュメントを輝かせる @ApiBearerAuth() のようなデコレーターが得られます。
ああ、もう言いましたね?それは独断的なものですが、良い意味です。最初は閉じ込められたように感じるかもしれませんが、すぐにその壁が実際には足場であり、超高層ビルを建てていることに気づくでしょう。
Node.js では JavaScript と TypeScript のどちらかを選択できます。実行時エラーが発生して虚空に悲鳴を上げるまでは、どちらも魅力的です。
一方、Nest.js は、長い間行方不明だった兄弟のように TypeScript を受け入れています。インターフェイス、ジェネリックス、タイプセーフのすべてを備えているため、なぜそれなしでコーディングしたのか不思議に思うでしょう。
確かに、すべてを入力するのは税金を払っているように感じるかもしれませんが、一度コツを掴めば、オブジェクトが予期されていた場所に文字列を渡したからといって API が破裂することはないという安心感を味わうことができるでしょう。
Nest.js のデコレーターは、テキスト内の絵文字のようなものです。最初は余分に見えますが、すぐに、必要だと思っていなかったすべてのコンテキストが追加されていることがわかります。
@ApiBearerAuth() を例に考えてみましょう。 API が何を期待しているのかを手動で説明する代わりに、このデコレータは Swagger と見事に統合され、ドキュメントをほぼ自分で作成できるようになります。
そして、@Controller()、@Injectable()、@Module() があります。それぞれのピースが所定の位置にカチッとはまるレゴブロックで遊ぶようなものです。
あなたはただコードを書いているだけではありません。あなたはオーケストラを作曲しています。
Node.js が多目的スイス アーミー ナイフだとすると、Nest.js はユーザー マニュアルを備えたまさにツールボックスです。
Node.js は、柔軟性が必要で、多少の混乱は気にしない場合に最適です。しかし、本格的なものを構築している場合、Nest.js は、基礎をしっかりと構築し、TypeScript に少しだけ夢中にさせてくれるパートナーです。
それで、あなたは何を選びますか?古典的な Node.js ですか、それともその上品な従兄弟である Nest.js でしょうか?いずれにせよ、あなたはすぐに乗り出すことができます。
覚えておいてください: 何を選択しても、途中で npm install sanity を忘れないでください。
開発者が Nest.js について気に入っている点の 1 つは、Swagger の統合が簡単であることです。
いくつかのデコレータといくつかの構成を使用すると、API ドキュメントが公開され、印象的なものになります。
Nest.js は、TypeScript インターフェイスと DTO (データ転送オブジェクト) のおかげでコードを理解するため、作業をシンプルにします。
すべてが構造化されているため、Swagger は API に何が入ってくるのか、何が出てくるのかを正確に把握できます。
しかし、Node.js について少し話しましょう。確かに、Swagger を統合することはできますが、それは簡単なことではありません。
リクエストまたはレスポンスの本文にインターフェイスや DTO がアタッチされていないと、Swagger は的を外してしまう可能性があります。さらに悪いことに、ルートのスキーマを手動で作成することになります。
それでは、Node.js を徹底的に使いこなしていて、苦労せずに Swagger レベルの API ドキュメントが必要になった場合、どうすればよいでしょうか?
そこで LiveAPI の出番です。私は API ドキュメントを非常に便利にするためにこのツールを開発しています。プレーンな Node.js、Express、またはその中間のいずれを使用している場合でも、LiveAPI が介入して面倒な作業を実行します。
仕組み:
LiveAPI を使用すると、Swagger を最初からセットアップするという面倒な作業に対処する必要がありません。迅速かつ効率的で、時間 (そして健全性) を節約できるように設計されています。
それでは、試してみませんか?今すぐチェックしてください: LiveAPI。
以上がNode.js と Nest.js: 2 つのフレームワークの物語の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。