Menu
CoddyTech

初めてのモジュール

CoddyのNode.jsジャーニー「Node.jsの基礎」セクションの一部。レッスン 7/33。

notes.jsは増え続けており、メモを整形するコードは複数の場所で必要になります。

モジュールはファイルです。関数の前にexportを付けると、ほかのファイルからその関数を使えるようになり、import { name } from './file.js'で読み込みます。

// math.js
export function add(a, b) {
    return a + b;
}

// app.js
import { add } from './math.js';
console.log(add(2, 3));

exportがないと、関数はmath.js内でのみ使え、インポートは失敗します。パスは同じフォルダーを意味する./で始まり、.jsで終わります。Nodeは拡張子を推測しません。

challenge icon

チャレンジ

簡単

notes.jsが長くなってきました。メモを番号付きの行にするコードを独立したファイルformat.jsに移し、ほかのファイルからも使えるようにしましょう。

  1. format.jsに関数formatNote(n, text)を書き、エクスポートします。この関数は、番号、ピリオド、空白、テキストの順につなげたものを返します。formatNote(1, 'Buy milk')は'1. Buy milk'を返し、formatNote(3, 'Call Ada')は'3. Call Ada'を返します。この関数は行を返します。表示はしません。
  2. notes.jsの先頭で、./format.jsからformatNoteをインポートします。
  3. add分岐で、Adding: ...を表示している行を置き換えます。これで、Adding: の後にformatNote(1, text)が表示されます。これは番号が1のメモです。今のところ、すべてのメモの番号は1です。実際の番号は次のレッスンで扱います。

node notes.js add Buy milkを実行すると、次のように表示されます。

Adding: 1. Buy milk

試してみましょう: $ node notes.jsの後ろにあるボックスにadd Buy milkと入力し、Enterキーを押します。Adding: 1. Buy milkと表示されます。次に、間違ったパスを指定したときにNodeがどう表示するか確認しましょう。notes.jsのインポート行から.jsを削除し、もう一度実行します。プログラムは、formatモジュールが見つからないというエラーを出して停止します。「確認」を押す前に.jsを元に戻してください。

自分で試してみよう

// formatNote(1, 'Buy milk') は '1. Buy milk' を返すべきです。
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Node.jsの基礎のすべてのレッスン

自分で練習してみよう: Expressプレイグラウンド