🙆

requireとimportについて

2023/01/09に公開

Node.jsにおいてファイル読み込みの仕様は、CommonJS(CJS)とES Modules(ESM)の2つがある。

今回、CJSとESMの最も基本的な使い方を示す。

CommonJS(CJS)の場合

CJSの場合requireを使う。Node.jsでは、デフォルトCJSである。

例を示す。

math.js
exports.double = function double(number) {
    return number * 2;
}

exports.triple = function triple(number) {
    return number * 3;
}
index.js
const math = require("./math");

console.log(math.double(2)); // 4
console.log(math.triple(2)); // 6

ES Modules(ESM)の場合

ESMの場合importを使う。拡張子をmjsにすると、使うことが出来る。

例を示す。

math.mjs
function double(number) {
    return number * 2;
}

function triple(number) {
    return number * 3;
}

export { double, triple };
index.mjs
import { double, triple } from "./math.mjs"

console.log(double(2)); // 4
console.log(triple(2)); // 6

Discussion