![](https://res.cloudinary.com/zenn/image/upload/s--gZxKznKT--/co_rgb:222%2Cg_south_west%2Cl_text:notosansjp-medium.otf_37_bold:nrikiji%2Cx_203%2Cy_98/c_fit%2Cco_rgb:222%2Cg_north_west%2Cl_text:notosansjp-medium.otf_70_bold:JavaScript%25E3%2580%2581TypeScript%25E3%2581%25AE%25E3%2583%25A2%25E3%2582%25B8%25E3%2583%25A5%25E3%2583%25BC%25E3%2583%25AB%25E5%2588%2586%25E5%2589%25B2%25E3%2581%25AB%25E3%2581%25A4%25E3%2581%2584%25E3%2581%25A6%25E6%2595%25B4%25E7%2590%2586%25E3%2581%2597%25E3%2581%25A6%25E3%2581%25BF%25E3%2581%259F%2Cw_1010%2Cx_90%2Cy_100/g_south_west%2Ch_90%2Cl_fetch:aHR0cHM6Ly9yZXMuY2xvdWRpbmFyeS5jb20vemVubi9pbWFnZS9mZXRjaC9zLS1zRUd1UDAzdy0tL2NfbGltaXQlMkNmX2F1dG8lMkNmbF9wcm9ncmVzc2l2ZSUyQ3FfYXV0byUyQ3dfNzAvaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyL2U1MGQ2NTQ4ZjQuanBlZw==%2Cr_max%2Cw_90%2Cx_87%2Cy_72/v1627274783/default/og-base_z4sxah.png)
JavaScript、TypeScriptのモジュール分割について整理してみた
ARANK
JavaScriptなのかTypeScriptなのか、またはモジュールバンドラー(webpackなど)の機能が使われているのかをちゃんと理解していなかったので整理 JavaScript importを使わないファイルの依存関係、読み込み順序を開発者が管理する必要があるhtml<script src="./bar.js" defer></script> <script src="./foo.js" defer></script> <script src="./index.js" defer></script> javascript// index.js console.log(foo); // foo.js const foo = bar; // bar.js const bar = "bar"; importを使うファイルの依存関係、読み込み順序を開発者が管理する必要がない。ただし、importごとにhttpリクエストが発生するので遅延が発生するjavascript// index.js import { foo } from "./foo.js"; console.log(foo); // foo.js import { bar } from "./bar.js"; export const foo = bar; // bar.js export const bar = "foo"; html<script src="./index.js" type="module"></script> モジュールバンドラーを使ったimportファイルの依存関係、読み込み順序を開発者が管理する必要がない。また、htmlが読み込むファイルはモジュールバンドラー(webpackなど)によってバンドル(1ファイルにまとめ…