Skip to content

Ykm4/node.js-esm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Node.jsでES Module(ESM)を使う

ESMを利用するためには2つの方法があります。

  1. ファイル拡張子を.mjsにする
  2. package.jsonに"type": "module"を追加する

ファイル拡張子を .mjs にする

Node.jsでは動作させたいJavaScriptのファイルをすべて.mjsの拡張子に変更する事で、ESMとして認識されます。

// myName.mjs
export const myName = 'Ykm4'

読み込み側のファイルも.mjsにする必要があります。 また、import時はファイルの拡張子が省略できないため注意が必要です。

// index.mjs
import { myName } from './myName.mjs'
console.log(myName) // Ykm4

参考

"type": "module"

package.jsonの中に"type": "module"を追加すると、そのpackage.jsonがあるディレクトリ以下の.*js拡張子のファイルがESMであると認識されます。

{
  "name": "nodejs-esm",
  "main": "index.js",
  "type": "module"
}

ファイル拡張子を.mjsに変更しなくてもそのままESMを使えるようになります。

// myName.js
export const myName = 'Ykm4';

読み込み時の拡張子は明示的に指定する必要がある

// index.js
import { myName } from './myName.js';
console.log(myName); // Ykm4

CommonJSで書かれたJavaScriptを読み込みたくなったときはCommonJSで書かれているファイルをすべて.cjsに変更する必要があります。

// myName.cjs
module.exports = 'Ykm4';

// 読み込み側
// index.js
import { createRequire } from "module";
const require = createRequire(import.meta.url);

const { myName } = require('./myName.cjs');
console.log(myName); // Ykm4

参考

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published