ESModuleのexport / import
本記事の目次
はじめに
Node.jsを使っている皆さんこんにちは。
あなたはクライアントのJavaScriptでCommonJSのexport / import、例えば
@js
// export
module.exports = {}
// import
const mod = require('mod')
のような形式です。
ですが、ブラウザではこのコードは動かないんです。
最近はその代わりとして、ESModuleという形式がよく使われています。
@js
// export
// 1:
export function exec(){}
export const pi = 3.14
// 2:
const pi = 3.14
const rand = Math.random()
export { pi, rand }
// 3:
export default function () {}
// import
// 1:
import { exec, pi } from 'mod'
// 2:
import { pi, rand } from 'mod'
// 3:
import ModName from 'mod'
このような形です。
このほかにもDynamic Importってのもあるんですが難しいのでここでは解説しません。
エクスポートについて
エクスポートには主に2種類あり、1
や2
のような名前付きエクスポートと3
のようなデフォルトエクスポートがあります。
主に機能が一つの場合はデフォルトエクスポートを使った方が良いですが、全てを名前付きエクスポートに統一するのも良いですね。
インポートについて
インポートも名前付きエクスポートとデフォルトエクスポートの2つをインポートする種類があります。1
と2
が名前付きインポートで、3
はデフォルトインポートです。
デフォルトインポートは何の名前をつけても構いませんが、名前付きインポートはエクスポートで定義した名前で呼び出す必要があります。
終わりに
どうでしたでしょうか。
JavaScriptは現在ESModuleがデファクトスタンダードになっているので、ESModuleを使うのが無難かと思います。また、ブラウザでそのままHTMLのスクリプトタグに埋め込む場合、<script type='module'></script>
のように、typeをmoduleにする必要があります。
みなさんもぜひESModuleライフを楽しみましょう!
最新の投稿
アフィカスと大きしょの行動についての見解
2023/6/8
蟹の魔神になりました
2023/6/4
そろそろブログのやる気も失せてね?
2023/5/30
Web系はアップデートが重要
2023/5/19
エンジニアがあまり専門職じゃなくなってる現状について
2023/5/19
おれのかんがえたさいきょうみすきーぼっと
2023/5/19
ロボコンがすごいことになってる〜!
2023/5/17
RemixからAstroに変えてみた所感
2023/5/13
Amazonアソシエイトプログラムに参加してみる
2023/5/3
スポンサーリンク

kstdx
中学生。自称エンジニア。見せられる程度のデザイン力はあるかなと自負しています。現在Twitterが凍結されている。おかねほしい。