✅ JavaScript 파일 (.js)
: JavaScript 파일의 표준 확장자
- 웹 브라우저 또는 Node.js 환경에서 실행될 수 있다.
- commonjs와 ecmascript 모듈 시스템 모두를 사용할 수 있다.
✅ CommonJS 모듈 파일 (.cjs)
: CommonJS 모듈 시스템을 사용하는 자바스크립트 파일의 확장자
- 모듈을 require() 함수로 가져오고, module.exports 또는 exports로 내보낸다.
- 웹 브라우저 환경에서는 기본적으로 지원되지 않으며, 브라우저에서는 Webpack, Browserify 같은 도구를 통해 변환해야 한다.
1. type="commonjs" + 확장자 js
<package.json>
{
"type": "commonjs",
}
<server.js>
const liveServer = require("live-server");
const params = {
host: "localhost",
port: 3000,
root: ".",
open: false,
mount: [["/", "./public"]],
};
liveServer.start(params);
2. type="module" + 확장자 cjs
{
"type": "module"
}
✅ ECMAScript 모듈 파일 (.mjs)
: ECMAScript 모듈 시스템을 사용하는 자바스크립트 파일의 확장자
- import와 export문 사용
- <script type="module"> 태그를 사용하여 ES 모듈을 로드할 수 있다.
- ES 모듈과 CommonJS 모듈 간의 충돌을 방지하기 위해 사용
type="module" + 확장자 mjs
{
"type": "module"
}