ホームページ  >  記事  >  ウェブフロントエンド  >  ノードJSのレビュー

ノードJSのレビュー

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 14:33:02161ブラウズ

Revisando Node JS

今週末、JavaScript と Node について少し復習することにしました。それは、GitHub フィードに表示されたプロジェクトをテストしているときに、この定義に遭遇したためです。

イベント ループや Promise などのいくつかのトピックについてもさらに詳しく研究する予定なので、レビューできれば幸いです。

これが私のメモです。

ノードとは

サーバーサイドでJavaScriptを実行するための環境(ランタイム)です。これを使用すると、ブラウザの外部で実行されるアプリケーション (バックエンド、モバイル、デスクトップ アプリケーションなど) を作成できます。

念のため言っておきますが、JavaScript は、Web ページに対話性を追加するために作成されたインタープリター型のマルチパラダイム プログラミング言語です。つまり、ブラウザーで使用することを目的として開発されました。

現在では、Deno や Bun などの他の JavaScript 実行環境がありますが、Node は 2009 年に開始された先駆者でした。

1 つのプログラミング言語だけを使用してアプリケーションのフロントエンドとバックエンドの両方を開発できる可能性は素晴らしいです。この機能は JavaScript の大きな利点の 1 つですが、一部の専門家はサーバー側での使用に疑問を抱いています。

Java のモットーである「一度書けば、どこでも実行できる」を考えてみると、一度学習し、すべてを作成するというものがあります。

ノードは Google Chrome の V8 エンジンに基づいており、ブラウザーで JavaScript コードを読み取って実行します。重要な機能は、JavaScript エンジンが実行されるブラウザーから独立しているため、ノードやその他の環境を作成できることです。

他にも JavaScript エンジンがあります:

  • Firefox は SpiderMonkey を使用します
  • Safari は JavaScriptCore を使用します
  • エッジはチャクラを使用し、現在は V8 を使用しています

JavaScript はインタープリタ言語とみなされますが、エンジンにはジャストインタイム (JIT) コンパイル手順があり、インタープリタおよびコンパイルされた言語になります。

ノードは DOM、ウィンドウなどの操作 API にアクセスできないことに注意することが重要です。これらの代わりに、ファイル システムへのアクセス、HTTP リクエストのリッスン、UUID の生成、イベントの発行などを可能にする標準ライブラリがあります。

// ❌
const element = document.getElementById('js-in-server')
console.log(element.textContent)

// ✅
import fs from 'fs'

fs.readFile('js-is-really-cool.md', 'utf-8', (err, content) => {
    console.log(content)
})

ノードには、プロジェクトの依存関係を整理、インストール、解決するために使用される NPM パッケージ マネージャー (ノード パッケージ マネージャー) が装備されています。 NPM はデフォルトのパッケージ レジストラーでもあり、後で使用するためにライブラリとフレームワークが登録される場所です。

明確にするために、NPM パッケージ管理ツールと、これらのパッケージのレジストラがあり、NPM とも呼ばれます。詳細については、こちらをご覧ください。

このツールの代替手段は、yarn と pnpm です。 Bun 環境には、Node と互換性のあるパッケージ マネージャーもあり、前述したオプションの中で最も高速に置き換えられることを目的としています。

レジストラといえば、最近、Typescript と ESM、JSR 用に作られたと主張する一種の現代的な代替手段が登場しました。

私が覚えているいくつかの本当にクールな「新」機能が Node に追加されました:

  • 環境変数 (.env) の読み込み
  • テスト ランナー、バージョン 20.x で安定的に導入されました
  • Typescript の実行、まだ実験的

今のところはここまでです。イベント ループとは何か、その重要性をカバーするためにこのレビューを更新するつもりです。

面白い事実として、私は Node を使用して最初の HTTP サーバーを開発しましたが、それを使用してバックエンドが好きだと気づきました。

読んでいただきありがとうございます!

以上がノードJSのレビューの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。