<aside> 💡 "CJS"와 "MJS"는 각각 CommonJS와 ECMAScript Modules의 약어입니다. 이 두 모듈 시스템은 JavaScript에서 모듈을 정의하고 가져오는 방식을 다르게 다룹니다.
</aside>
require() 함수를 사용합니다.예시 (CommonJS):
// 모듈 정의
module.exports = {
key: 'value',
func: function() {
// 코드
}
};
// 모듈 사용
const myModule = require('./myModule');
console.log(myModule.key);
myModule.func();
import 문을 사용합니다.import 문을 사용하며, 다른 모듈에서 사용할 수 있도록 변수, 함수, 클래스 등을 export 키워드로 내보냅니다.예시 (ECMAScript Modules):
// 모듈 정의
export const key = 'value';
export function func() {
// 코드
}
// 모듈 사용
import { key, func } from './myModule';
console.log(key);
func();
요약하면, CommonJS는 주로 서버 측 JavaScript 환경에서 사용되고 동기적으로 모듈을 로딩하는 반면, ECMAScript Modules는 브라우저와 서버 모두에서 사용 가능하며 비동기적으로 모듈을 로딩합니다. 최신 JavaScript 프로젝트에서는 보통 ECMAScript Modules를 선호하는 추세가 있습니다.