Node.js の主要なチュートリアル: アプリの基礎

最終更新: 11/19/2025
  • Node.js 機能は、モデルオリエンタードのイベントや E/S に基づいて、理想的な同意を得る必要はありません。
  • Arquitectura モジュラー: サーバー、ルーター、ハンドラーによりエスカレーションと管理が容易になります。
  • アプリの Web コンピューティング、ビスタ、ミドルウェアの作成を高速化します。
  • アーカイブ、赤、ルータスとシステムに関する国内のモジュールをトラバハします。

プリンシパル向けチュートリアル Node.js

Node.js に最初に連絡する、Aquítienes una guía pensada para empezar con buen pie: iremos de lo más básico a un flujo de trabajo real, con ejemplos practicos y explicaciones claras.ウェブコンエクスプレス、最新のシステム、npm および el enfoque asíncrono que hace tan especial al ecosistema de Node.

Además de orientarte con 以前の要件、Visual Studio Code と初期プロジェクトの構成、HTTP 管理、管理ペティシオン、マネジャー コントロール、イベント ドリブンのイベント ドリブンの POST を実行します。必要な情報をすべて確認し、ロデオを確認し、必要な情報を確認してください。

Node.js の以前の要件と最新の要件

JavaScript で必要な機能 (ヒント、変数、関数、オブジェクト) は、コンラ・コンソラと同様に重要です。 Node.js は、JavaScript の最新バージョン、V8 のバージョン、最新の強力なモデルの出力機能を備えています。 ディリギド ポル イベントス y ノー ブロカンテ。申請書を提出するために、同時に罪を認めることを許可します。

Con Node puedes construir Web サービス、API REST、コマンドラインの管理、実際のアプリ (チャット、通知)、IoT プロジェクトのデータを統合します。 E/S を並行して行うことができ、理想的な交通や体験を双方向で行うことができます。

ダウンロードとインストール

Web 公式の Node.js をダウンロード en Nodejs.org は、運用システムのインストールに使用します。 Windows、macOS、Linux では、インストールとパケットの管理が容易です。インストールを完了し、ターミナルコンフィギュレーションを確認します: node -v y npm -v。 npm は、ノードと形式のライブラリのインストールを許可します。

入門連絡先: Hola Mundo con VS Code

Visual Studio Codeの使い方、プロジェクトとランサール エル ターミナル インテグラド コン トータル コモディダを通過します。トラバホとエントラのカーペットを作成します: mkdir HelloNode && cd HelloNode.

VS Code コンのアホラ アブレ エサ カーペット コード 。. 呼び出されたファイルを作成する app.js 配置パラメタのアルゴリズムを導入します。 un mensaje por consola.

var msg = 'Hello World';
console.log(msg);

VS Code のターミナル統合を実行します (バージョン > ターミナル、Ctrl+` を実行)、ランザ node app.js. 決勝戦の出力「Hello World」 アン・ラ・コンソラ。 sí、sencillo、peroconfirma que todo va bien。

サーバーの決定: HTTP サーバーの最小化

ラマド 'http' のノード トレイ 私は、ポカスラインでのサービスをクリアします。エル・コラソン・エス http.createServer、関数のコールバックを要求し、出力します 請願書を提出してください.

var http = require('http');

http.createServer(function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/html'});
  response.write('Hola Mundo');
  response.end();
}).listen(8888);

アランサロ・コン node server.js そして訪問してください http://localhost:8888/. イベントやオリエントのモデルのノードの選択: ランタイム ラ「ラマ デ ブエルタ」 (コールバック) を実行し、イベントを実行します (参加者への要求)。

Entendiendo コールバック、緊急時および緊急時のコールバック

En JavaScript las funciones 息子シウダダノス デ プリメーラ: 変数を議論したり、変数を開発したりできます。ノードのイベントを管理するエステート: 登録機能の登録が完了し、すぐに実行されます (HTTP で確認できます)。

違いを理解することが重要です オペラシオネス ブロカンテス y ノー ブロカンテス。 Si は、CPU デュランテ セグンドス (ポル エジェンプロ、アン ビュークレ デ エスペラ) のアルゴリズムを導入し、詳細な処理を決定します。ノード、 トラバハ・シエンプレ・ケ・プエダ・コン・E/S asíncrona コールバックやプロメサス パラ エビター ブロック、エル ヒロ。

モジュール式のディセーニョ: サーバー、ルーター、マネジャドール

Separar responsabilidades より高度なプロジェクトへの移行: HTTP サーバーのモジュール、制御装置 (リクエスト ハンドラー) の制御。 Puedes の exponer 関数 con exports ロケールのモジュールを要求する require('./miModulo').

構造の詳細: index.js como punto de entrada, server.js HTTPサーバーに接続し、 ルーター.js 決定的な機能を管理する必要があります リクエストハンドラ.js エンドポイントのロジック。判読性と検査機能を備えた組織です。

エクストラエンド ラ ルタ イ エンルタンド

URL リクエストに関するオブジェクトのリクエスト. El módulo nativo url 許可する パス名 はい、ファルタ、質問します。これにより、ルータが制御装置の出力を決定します。

var url = require('url');

function onRequest(request, response) {
  var pathname = url.parse(request.url).pathname;
  // route(pathname) ...
}

El router recibe el mapa de rutas a funciones (オブジェクトをドンデするか、クラベを制御するか、勇気を与えるか、ハンドラーを制御するか)、パス名を制御し、関連する関数を計算します。 Si 存在、la ejecuta。いいえ、404 を開発します。

Haciendo que el handlersponda (エル パトロン コレクト)

Una tentación habitual 制御装置を制御するために、文字列と制御装置を制御してください。ペロ・エスト・ファラ・クアンド・エル・ハンドラー、必要な操作、アルゴ・アインクロノ(ディスコを取り出してコマンドを実行する)。効果的な解決策 オブジェクトの応答を注入する ハンドラとプロピオ ハンドラの応答を確認し、テンガを呼び出します (例として、関数としてのコールバックを確認します)。

// router.js
function route(handle, pathname, response) {
  if (typeof handle[pathname] === 'function') {
    handle[pathname](response);
  } else {
    response.writeHead(404, {'Content-Type': 'text/html'});
    response.write('404 No Encontrado');
    response.end();
  }
}

このアプローチにより、 回答者 justo cuando la E/S asíncrona concluye、デボルバーのデータを準備するために、ブロックを作成する必要があります。

Express: ウェブ上でアプリを作成する

Node.js のフレームワーク ミニマリストを表現します HTTP の機能、ビスタ、ミドルウェア、ユーティリティを実行します。安全なプロジェクトを構築し、定期的にカーペットを敷いて、最高の景色を眺めることができます。

  1. プロジェクト用のフォルダを作成する: mkdir ExpressProjects && cd ExpressProjects.
  2. Genera una plantilla: npx express-generator HelloWorld --view=pug パグのモーターデビスタを作成します。
  3. VS Codeで開く とともに code . y revisa la estructura: ビン (アランケ)、 公共 (JS/CSS/画像), ルート (controladores de rutas), ビュー (プランティラス)、 app.js (設定)、 package.json (スクリプトと依存関係)。
  4. 依存関係をインストールする とともに npm install en la carpeta del proyecto.
  5. アプリを起動。例: npx cross-env DEBUG=HelloWorld:* npm start.
  6. 開く http://localhost:3000. プルエバ・ア・カンビア・ラ・ビスタ・プリンシパル:イン views/index.pug, sustituye el título por h1 "Hello World!" そして充電します。

Express incorpora lo necesario para GET、POST、PUT、DELETE の管理、ミドルウェアの使用、サービスの構築、レンダリングの概要、およびさまざまなページのアプリケーションの構造を表示します。

npm とノードのモジュール

npm es el gestor de Node テルセロス図書館の設置を許可します。ポル・エジェンプロ、パラ・アナディル・エクスプレス: npm install express。そうすれば、できます require('express') コードを活用してください。プロジェクトは柔軟に対応し、クラーベ パラ クレセールを実行します。

Además, Node incluye ネイティブモジュール para tareas comunes: fs (アーカイブ) http/https (servidores)、 path (ルタス)、 os (datos del sistema), url (URL の解析) たくさんあります。輸入者ロスコン require() 何もインストールせずに。

Probando un modulo nativo: 情報システム

オペラのシステムの「OS」モジュール。 REPL ノードのコンソールへのアクセス node 迅速な犯罪アーカイブ機能を備えています。

  1. 書く os.platform() パラ・セイバー・ラ・プラタフォーマ (win32、linux、darwin…)。 Confirmarás el SO activo 直接。
  2. とともに os.arch() obtendras la arquitectura (x64、arm64…)。 Útil para binarios o builds.
  3. 使用 os.cpus() 核を失う必要はありません。 Ideal para equilibrar carga クラスタとプロセスを共有します。
  4. REPLで完了 .exit Ctrl+C を 2 回押します。 Rápido y sin residuos.

テルセロスの図書館

El ecosistema npm es enorme。 Algunas utilidadesの人気: シャープ (画像と圧縮の記録)、 PDFキット (PDF生成), バリデーター.js (validación de cadenas), 画像分 y UglifyJS (minificación), スプライトスミス (スプライト)、 ウィンストン (ログ)y コマンダー.js (CLI)。インストール npm install <paquete> 必要なときに。

Node.js のアーカイブを共有する

app.js のアーカイブを保護する、y ejecútalo con node app.js アンラターミナル。プログラムを開始し、コンソールで結果を確認し、サービスを提供し、ナビゲートします。

実際のアプリケーションによる REPL の削除: フルージョ コンプリート

完璧な機能を備えた REPL のプロバール、アーカイブを作成し、npm のモジュールやスクリプトを整理することができます。デ・エスタ・フォルマ・ポドラス npm run での automatizar の領域 ロス・コマンドス・ド・イニシオ・ドキュメンタリー package.json.

マネジャンド・ダトス POST 罪のブロック

クアンド・アン・ユースアリオ・エンビア・アン・フォーミュラリオ、エル・クエルポ・デ・ラ・ペティシオン・プエデ・レッガル・アン・ヴァリオス・トロソス。 En el servidor (コールバック createServer)アナデリスナー data y end 決勝戦の最終決定までに必要なデータを収集します。コードの表示、UTF-8 の修正、操作の修正。

request.setEncoding('utf8');
var postBody = '';
request.addListener('data', function(chunk) {
  postBody += chunk;
});
request.addListener('end', function() {
  // route(handle, pathname, response, postBody)
});

特別な活動を必要とする個人、 usa el módulo 'querystring' パラ パーサー エル クエルポ クアンド レッガ コモ application/x-www-form-urlencoded: querystring.parse(postBody).text例えば。

業務執行者はブロカンテを実行しません

パラエジェクターコマンドデルシステム 罪を定めた奴隷、ユーティザ child_process.exec y はコールバックに応答します。プエデス アニャディル オプシオネス コモ timeout o maxBuffer パラコントローラーコマンドスペサドス。保護者とミスモ: 何もない、y応答者クアンド・ハヤ・ダトス。

var exec = require('child_process').exec;

function handler(response) {
  exec('ls -lah', function(error, stdout, stderr) {
    response.writeHead(200, {'Content-Type': 'text/plain'});
    response.write(stdout);
    response.end();
  });
}

非常に強力なコマンドを使用して、正常な状態で安全に応答できるようにします。 エル ヒロ校長のハガス トラバホ シンクロニコ コストソはありません.

スビダス デ フィチェロス: エンフォケとエラミエンタス

Para manejar はマルチパートでアップロードします (アーカイブ画像) 特別な専門知識を繰り返し実行できます。モドゥロス コモ 手ごわい ファシリタン・パーセア・フォーミュラリオス multipart/form-data、一時的なアーカイブにアクセスし、デスティノを移動します。ラ・アイデア・エス・ラ・ミスマ: コールバック/プロメサ ストリームを管理するためのトラバハル。

初期段階での実装の完了、アップロード時の統合が非常に重要です: サーバ que recibe el formulario, ルータ ケ・ディリージ・ア・ラ・ルータ・デ・スビーダ、y ハンドラ 検証を確認し、結果を確認して応答してください (例を確認し、最もイメージを重視する)。

展望と展望の構造

Express con Pug u otro モーターの最適化、エル・コントローダー・パサ・ダトス・ア・ラ・ビスタ・イ・エスタ・ロス・レンデリザ。 Para un Formulario sencillo con un textarea enviado por POST y una ruta que lo muestra、basta con dos handlers: uno que sirve el Formulario y otro que コンテニドの処理と開発 受け取った。

優れた組織慣行

Evita archivos monolíticos。モジュールを分割し、アクションを表現するための関数を指定します (例として、 イニシアル, subir, リスト)、依存性のある機能を提供します (ルータのサーバー機能やマップ機能)。 Mantener las capas ligeras te permitirá crecer sin dolores。

Node.js の構成要素の変更

イベント駆動型かつノンブロッキングのモデル 特別なパフォーマンスを提供します: Web サービス、API REST、実際のアプリケーション (チャット、ダッシュボード)、ボットと CLI、データ管理、管理、ハードウェアの制御。マネハル Web ソケットの機能と、インタラクティブな自然な体験を実現するためのストリーミング サービスを提供します。

  • Servidores y sitios web SSR の植物と共に。
  • REST API アルト交通の準備。
  • リアルタイム チャット中のソケット、通知、またはイベント。
  • コマンドラインツール タスクを自動化します。
  • データの基本情報を確認する手順、コーラとパイプライン。
  • IoTとハードウェア con librerías específicas.

計画と実践の方法

インタラクティブな対話型言語が存在します。 ラド・ア・ラド、理想は非常に迅速に実行されます。これにより、ローカルの端末で必要な情報を記録し、コピーしたり、印刷したりすることができます。

Visual Studio Code: エディターの生産性向上

ターミナルインテグラド、デプラドールとラス拡張 VS Code は、ノードの海で問題を解決します。 Desde「Ver > Terminal」は、シェル、カンビア、事前決定、および排出を実行します node o npm run 編集者を放棄した罪。アデマス、 launch.json を設定する 許可してください。パソアパソ。

バージョンと確立の確認

ノードのバージョンを保護するための古典的なバージョン、ペロ ロス コンセプトス セ マンティネン ビヘンテス: コールバック、ネイティブモジュール、同期、応答と分離。実際のバージョンを確認し、迅速に対応し、エコシステムを維持してください。

アジシオナルのダウンロード

Puedes ampliar ドキュメント、PDF、チュートリアルのスタジオ。新しいノードの Web 公式を改訂し、教育内容を確認します。 ejercicios, quizzes y retos 前途多難なメディダを待ち望んでいます。

内容を補完し、導入と参考資料を作成し、必要な情報をすべて取り込みます。 Mantén tu foco en practicar: レア・エスタ・ビエン;エジェクター、ロンパース・コサス・イ・アレグララス、メジャー。

例: ルーターとハンドラー用のミニアプリが完成しました

Juntando piezas. Imagina un proyecto con index.js que arranca el servidor, server.js HTTPとPOSTの解析、 ルーター.js 機能を決定するか、出力するか リクエストハンドラ.js コンドスルータス: una que muestra un Formulario y otra que enseña el texto enviado.

// index.js
var server = require('./server');
var router = require('./router');
var handlers = require('./requestHandlers');

var handle = {};
handle['/'] = handlers.iniciar;
handle['/iniciar'] = handlers.iniciar;
handle['/subir'] = handlers.subir;

server.iniciar(router.route, handle);
// server.js
var http = require('http');
var url = require('url');

function iniciar(route, handle) {
  function onRequest(request, response) {
    var postData = '';
    var pathname = url.parse(request.url).pathname;

    request.setEncoding('utf8');
    request.addListener('data', function(chunk) { postData += chunk; });
    request.addListener('end', function() {
      route(handle, pathname, response, postData);
    });
  }

  http.createServer(onRequest).listen(8888);
}

exports.iniciar = iniciar;
// router.js
function route(handle, pathname, response, postData) {
  if (typeof handle[pathname] === 'function') {
    handle[pathname](response, postData);
  } else {
    response.writeHead(404, {'Content-Type': 'text/html'});
    response.end('404 No Encontrado');
  }
}

exports.route = route;
// requestHandlers.js
var querystring = require('querystring');

function iniciar(response) {
  var body = '<html>'+
    '<head><meta charset=\'UTF-8\' /></head>'+
    '<body>'+
    '<form action=\'/subir\' method=\'post\'>'+
    '<textarea name=\'text\' rows=\'10\' cols=\'40\'></textarea>'+
    '<input type=\'submit\' value=\'Enviar\' />'+
    '</form>'+
    '</body></html>';

  response.writeHead(200, {'Content-Type': 'text/html'});
  response.end(body);
}

function subir(response, postData) {
  var text = querystring.parse(postData).text || '';
  response.writeHead(200, {'Content-Type': 'text/html'});
  response.end('Tu enviaste: ' + text);
}

exports.iniciar = iniciar;
exports.subir = subir;

コン・エステ・エスケレート・ミニモ・ヤ・ティネス 奴隷機能がなく、ブロカンテもありません、セパラドスをコントロールし、データを統合してアップロードします。

La clave de Node está enpensar en “acciones”: 機能が強化され、責任を負う必要があります。同様に、完全な管理とアダプターの適合性を向上させるためにアプリケーションを実行します。

ベース ソリダのタスク: インストール ノードとエジェクター トゥ プライマー スクリプト、VS Code のパスサンド、 ネイティブ HTTP サービス、独自のサポート、Express、npm、ネイティブ モジュール、REPL、ブロック化されたもの y マネホ デ フォーミュリオス POST。実践と作業の繰り返し、プロジェクトの詳細を確認し、コードを確認します。

関連記事: