デフォルトエクスポート
CoddyのNode.jsジャーニー「Node.jsの基礎」セクションの一部。レッスン 7/24。
store.jsはストアだけを扱うファイルで、それをインポートするファイルは、内部で何と呼ばれているかを気にする必要はありません。
export defaultは、そのファイルの中心となる1つの値を示します。インポートする側は任意の名前を付けられ、波括弧は使いません。
// config.js
const config = { port: 3000 };
export default config;
// app.js
import settings from './config.js';
console.log(settings.port);波括弧を使うと名前付きエクスポートを指定するため、ここではimport { config } from './config.js'は失敗します。config.jsには名前付きエクスポートがないからです。ファイルの中心となる値にはデフォルトエクスポートを、ヘルパー関数をまとめたファイルには名前付きエクスポートを使いましょう。
チャレンジ
簡単store.jsのデフォルトエクスポートをstoreにします。addはstore.add(text)でメモを保存し、Adding: 4. Buy breadを出力します。listはformatNoteを使って、ストア内のすべてのメモを出力します。
node notes.js add Buy breadを実行し、次にlistを実行します。まだ何も保存されていないため、新しいメモは消えています。
自分で試してみよう
// chapter 3 でファイルに保存するまでは、メモはここに保持されます。
const store = {
notes: ['Buy milk', 'Call Ada', 'Water the plants'],
add(text) {
this.notes.push(text);
return this.notes.length;
},
};
// store をこのファイルのデフォルトエクスポートにします。