TypeScriptで慣れたES ModulesをJavaScriptでも使ってみる

Node.jsをv13.8以上にアップグレードする。

sudo n latest && node -v => v13.8.0

package.jsonに追記する。typeのキー名は変わるかもって話があったようだけど、ほぼこれで確定のよう。

{ "type": "module" }

Rename configuration options to avoid “type” term · Issue #312 · nodejs/modules

使う。拡張子の省略は不可能。TypeScriptではできるので気をつける。

// export.js
export const HELLO_WORLD = 'Hello from module!'

// index.js
import { HELLO_WORLD } from './export.js';
console.log(HELLO_WROLD); // => 'Hello from module!' 

実行時にワーニングが出るが、–no-warningで消すことができる。