commonjs 방식 과 ESM 방식, AMD

루카소·2022년 11월 30일
0

commonjs 방식 (cjs)

  • nodejs가 채택하고 있는 방식이 commonjs이다.
  • 모듈을 호출하는 방식은 require이다.
  • 동기적으로 작동한다.
foo.js
const foo = 1;
exports.foo = foo;

bar.js
const f = require('foo.js');

console.log(f.foo) // 1;
  • 내보내는 방식이 module.exports이다.

ESM 방식

  • 조금 더 익숙한 import, export방식이다.
  • node 12부터 esm방식을 공식 지원함.
  • 비동기적으로 작동한다.
  • 지원하긴 하지만 브라우저가 지원하지 않기 때문에 번들러를 이용해야 함.
  • 확장자 .mjs를 써도 된다.

참조문헌
https://toss.tech/article/commonjs-esm-exports-field

AMD (Asynchronous Module Definition)

  • 이를 이용한 것이 대표적으로 RequireJS
define([file], function (lib) {
	console.log(lib)
})

UMD

AMD와 CommonJS를 모두 대응하기 위한 방법.

profile
rukkasso

0개의 댓글