CommonJS, AMD, Browser 환경에서 모두 사용 가능한 모듈 코드를 출력하려면 "umd" 값을 설정합니다.
Babel은 모듈 번들러가 아닙니다.
Babel은 Javascript 컴파일러입니다. 새로운 ES 문법을 지원하지 않는 브라우저에서도 사용할 수 있게 언어 차원에서의 변환 기능을 제공하는 도구일 뿐입니다. Webpack과 같은 모듈 번들러가 하는 일을 처리하지는 못합니다.
즉, ES 모듈을 사용해 모듈 불러오기, 내보내기 기능을 사용한다면 Babel 컴파일 코드 출력 결과물만으로는 웹 브라우저 환경에서 사용할 수 없습니다. Webpack과 같은 모듈 번들러를 사용해 빌드 시스템을 구축한 후, Babel 컴파일러를 로더로 추가해 사용해야 합니다.
.
├── dist/ # 컴파일 출력 코드
│ ├── ellipseText.js
│ └── index.js
│
└── src/ # 원본 소스 코드
├── ellipseText.js
└── index.js
import { ellipseText } from './ellipseText.js';
console.log(ellipseText(`Node.js 환경에서 ES 모듈을 사용하려면 mjs 확장자 또는
package.json에 type을 module로 설정해야 합니다.`));