Node.jsを使ってアプリケーションを作るとき、コードを整理するために「モジュール」という仕組みを使います。モジュールを使うことで、特定の機能を持つコードを別のファイルに分けることができ、再利用が簡単になります。今回は、Node.jsで使われる2つのモジュールの読み込み方法「require」と「import」について解説します。
まずは、Node.jsで一般的に使われている「require」について見てみましょう。requireは、特定のモジュールを読み込むときに使います。
requireを使うと、他のファイルに書かれたコードを簡単に使うことができます。以下は、requireの基本的な使用例です。
const math = require('./math'); // math.jsというファイルを読み込む
console.log(math.add(3, 5)); // 3と5を足す関数を使う
次に、「import」についてです。importは、ES6という新しいJavaScriptの標準で導入されたモジュールの読み込み方法です。importを使うことで、よりモダンな書き方ができます。
以下は、importを使った簡単な例です。
import { add } from './math.js'; // math.jsからadd関数をインポート
console.log(add(3, 5)); // 3と5を足す関数を使う
では、requireとimportの違いを見てみましょう。具体的にどのような点が異なるのでしょうか。
requireは関数の形式で、require('モジュール名')と書きます。一方、importは文の先頭で使う構文で、import { 関数名 } from 'モジュール名'と書きます。この文法の違いが、使い方に大きな影響を与えます。
requireは、コードが実行される時点でモジュールを読み込みます。このため、動的にモジュールを読み込むことも可能です。逆に、importは、プログラムの最初の段階でモジュールを読み込むため、静的なインポートになります。
requireはCommonJS形式を使っており、Node.jsの標準で広く使われます。一方、importはES6形式で、ブラウザでも動作するため、フロントエンドの開発でも利用が増えています。
以上が、Node.jsのモジュールシステムにおけるrequireとimportの違いです。どちらも便利な機能なので、プロジェクトに応じて使い分けてみてください。これからNode.jsを学ぶ上で、モジュールを使いこなすことが大切になります。ぜひ、試してみてくださいね。