[TIL]1201-Node.js(1)


NPMとモジュール


NPMとは?

  • Node Package Manager
  • Node.jsプロジェクトを管理するキーツール
  • NPMオンラインストレージ

  • は、オープンソースライブラリとツールを多数アップロードするリポジトリです.
  • は、必要なライブラリまたはツールを簡単に検索できます.
  • Node.jsの人気で巨大な生態系を持つ.
  • コマンドラインツール

  • プロジェクト管理のための複数のコマンド
  • package.json

  • プロジェクト関連情報を格納ファイル
  • このファイルを直接変更し、nanpmコマンドを使用してプロジェクト情報
  • を変更できます.

    依存関係の管理


    管理
  • プロジェクトで使用するライブラリ
  • プロジェクトの実行はライブラリに依存するため、
  • これらのライブラリは依存(依存)と呼ばれます.
  • ライブラリとは?

  • 特定機能を実行するコードセット
  • 複雑な機能を記述するのではなく、他の人が実施する方法
  • を用いる.
  • Node.jsでは、パッケージとも呼ばれます.
  • NPXとは?

  • npmパッケージをインストールすることなく使用できるツール
  • node.jsの特定のバージョンを使用してjsファイルを実行できます.
  • github gistコードをダウンロードせずに実行できます.
  • Node.jsのモジュールとは何ですか?

  • 簡単なプログラムであれば、1つのファイルでも
  • プロジェクトの拡大に伴い,機能に応じてコードを分離することが重要である.
  • モジュールコード分離方法
  • モジュールとパッケージ

  • パッケージはモジュールの集合
  • である.

    Node.jsの内蔵モジュールコンソール

  • ブラウザで提供されるコンソールと同様のデバッグツール
  • ログ・レベルは
  • log、warn、error関数
  • と表示されます.
  • time、timeLogおよびtimeEnd関数による追跡時間
  • Node.jsの組み込みモジュール化プロセス

  • は、現在の実行プロセスに関する機能
  • を提供する.
  • arch、argv、envなどの運転環境と変数相関値
  • を提供する.
  • abort、kill、exitなどのプロセス動作関数を提供

    Node.jsの内蔵モジュールfs

  • ファイルI/O使用
  • ファイルを読み込み、writeFile関数を使用してファイル
  • を読み込み、書き込む.
  • Sync関数を指定します.同期動作
  • watch検出ファイル/ディレクトリ変更イベント
  • Node.jsの内蔵モジュールhttp

  • httpサーバ、クライアント
  • createServer関数を使用してサーバ
  • を作成
  • 要求関数を用いてhttp要求
  • を生成する.

    モジュールの基本的な作成方法

    // index.js
    const name = "yun";
    const age = 26;
    const nationality = "korea";
    
    module.exports = {
      name,
      age,
      nationality,
    };
    // 모듈이 load 될때 사용될 값을 module.exports로 내보냄.
    // ---
    const man = require("./index.js");
    // man 출력값 {name : "yun", age: 26, nationality: "korea"}

    変数名でエクスポートされたモジュールの作成

    // index.js
    const name = "yun";
    const age = 26;
    const nationality = "korea";
    
    exports.name = name;
    exports.age = age;
    exports.nationality = nationality;
    // 모듈을 object로 만들고, 각 key-value를 지정해서 내보냄.
    // ---
    const man = require("./index.js");
    // man 출력값 {name : "yun", age: 26, nationality: "korea"}

    エクスポート関数のモジュールの作成

    // index.js
    module.exports = (name, age, nationality) => {
      return {
        name,
        age,
        nationality,
      };
    };
    // 모듈을 함수로 만들어서 모듈 사용 시에 값을 정할 수 있게 내보냄.
    // ---
    const man = require("./index.js")("yun", 26, "korea");
    // man 출력값 {name : "yun", age: 26, nationality: "korea"}

    モジュールの使用方法


    モジュールは
  • require関数でロードできます.
  • Javaからインポートされた
  • と同様
  • 依存パッケージで、独自に作成したモジュールを使用できます.
  • モジュールの使用方法-requireアクションの理解

  • が必要な場合、モジュールコードが実行されます.
  • Node.jsのモジュールは、最初のリクエスト時にキャッシュされ、2回も実行されません.
  • モジュールコードを複数回実行するために、関数モジュールとして記述される.
  • モジュールnpmパッケージの使用方法

    const dayjs = require("dayjs");
    console.log(dayjs());
  • 依存パッケージはrequire(「package-name」)でロードできます.
  • パッケージを使用するには、node modulesにダウンロードする必要があります.
  • モジュールの使用方法-自分で作成したモジュール

    const myModule = require("./my-module");
    console.log(myModule);
  • が直接作成するモジュールは、現在のファイルに対向ディレクトリ
  • にロードされる.
  • my-modulijsファイルの場合、ロードファイル
  • ディレクトリが
  • my-module/module/indexの場合.jsファイルload
  • モジュールの使用方法-関数モジュール

    const myFunctionModule = require("./my-function-module");
    console.log(myFunctionModule(name, age, nationality));
  • 関数モジュールは、ロード時にすぐに実行されません.
  • は、必要に応じてロードされた関数を実行してモジュールを使用することができる.
  • モジュールjsonファイルの使用方法

    // my-data.json 을 가지고 있다.
    const myData = require("./my-data");
    console.log(myData);
  • の要件に従って、jsonファイルをロードすることもできます.
  • objectに自動的に割り当てられます.
  • ES Module

  • ES 6のJavaScript公式標準モジュール
  • JavaScriptでは「モジュール」はほとんど提供されていません.
  • Node.jsは独立した方法でモジュールをサポートします.(commonjs)
  • ESモジュールの出現、ノード.jsは2つのモジュールをサポートする必要があります.
  • ESモジュールとcommonjs

  • ESモジュールとcommonjsは文法と基本動作方式が異なる.
  • commonjsはmoduleです.EXportsおよびrequireを使用してモジュール
  • を作成および使用
  • ESモジュールexportとimportを使用してモジュールを作成し、
  • を使用します.