Node.js의 ES6 문법에서 확장자
Node.js 환경에서 JavaScript 파일의 확장자(.js
또는 .mjs
)는 파일이 모듈로 어떻게 취급되는지에 중요한 역할을 합니다. 여기서 .js
와 .mjs
확장자에 대해 자세히 알아보겠습니다.
.js
확장자
기본적으로 .js
확장자는 JavaScript 파일을 나타냅니다. Node.js에서 이러한 파일은 오랫동안 CommonJS 모듈 시스템을 사용하여 처리되었습니다. CommonJS 모듈 시스템은 Node.js의 기본 모듈 시스템으로, require
와 module.exports
를 사용하여 모듈을 가져오고 내보냅니다.
예를 들어, 다음과 같이 CommonJS 문법을 사용할 수 있습니다:
// sum.js
function sum(a, b) {
return a + b;
}
module.exports = sum;
// app.js
const sum = require('./sum.js');
console.log(sum(1, 2)); // 출력: 3
package.json
파일에서 "type": "module"
을 설정하지 않았다면, Node.js는 .js
파일을 CommonJS 스크립트로 취급합니다.
.mjs
확장자
.mjs
확장자는 "ECMAScript Module"을 나타내며, ES6(ECMAScript 2015) 이후로 JavaScript가 공식적으로 모듈을 지원하기 시작하면서 등장했습니다. 이 확장자를 사용하면 파일이 ES6 모듈로 취급되며, import
와 export
문법을 사용할 수 있습니다.
예를 들어, 다음과 같이 ES6 모듈 문법을 사용할 수 있습니다:
// sum.mjs
export function sum(a, b) {
return a + b;
}
// app.mjs
import { sum } from './sum.mjs';
console.log(sum(1, 2)); // 출력: 3
.mjs
확장자를 사용하면 package.json
에 별도로 설정을 추가하지 않아도 Node.js가 자동으로 ES6 모듈로 인식합니다. 이는 Node.js가 ES6 모듈과 CommonJS 모듈을 함께 지원할 수 있도록 하며, 개발자가 명시적으로 모듈의 타입을 결정할 수 있게 해 줍니다.
확장자 선택
확장자를 선택할 때는 프로젝트의 필요와 호환성을 고려해야 합니다. 만약 기존의 Node.js 프로젝트가 있다면, .js
확장자와 CommonJS 모듈 시스템을 계속 사용할 수 있습니다. 새로운 프로젝트이거나, 최신 모듈 기능을 최대한 활용하고 싶다면 .mjs
확장자와 ES6 모듈 문법을 사용하는 것이 좋습니다.
모듈 시스템을 혼용해야 하는 경우, 또는 팀 내에서 일관된 개발 환경을 유지해야 하는 경우에는 프로젝트 설정과 문서화를 통해 명확한 가이드라인을 제공해야 합니다.
이러한 차이점을 이해하는 것은 Node.js 환경에서 모듈을 관리하고 애플리케이션을 구성할 때 중요한 요소입니다. 개발자는 프로젝트의 요구 사항에 따라 적절한 확장자와 모듈 시스템을 선택해야 합니다.
'컴퓨터과학과' 카테고리의 다른 글
[Node.js] JavaScript에서 모듈 내보내기(exporting)와 가져오기(importing) (1) | 2024.04.10 |
---|---|
[Node.js] 클래스 활용하기(export, import) (1) | 2024.04.09 |
[Windows] '파워셸'의 기능과 역할 (0) | 2024.04.07 |
마이크로 프런트엔드 (0) | 2024.03.30 |
[웹개발] 마이크로서비스와 마이크로 프런트엔드 (0) | 2024.03.29 |
댓글