일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 굿노트
- 노트북구매하기
- 네트워크관리사2급실기문제
- 심플한플래너
- 실기문제풀이
- 노트북추천받기
- 네트워크관리사2급실기
- 코딩
- 콜오브듀티
- 프로그래밍
- 저렴한노트북
- 총게임
- 실기시험
- 네트워크관리사
- 백엔드
- 행정관리사
- 자바스크립트
- 개발자
- 행정관리사3급공부
- 네트워크관리사2급
- C언어배우기
- C언어
- 실기문제
- 가성비노트북
- 노트북추천
- 실기시험예제
- 행정관리사합격하기
- 행정관리사3급
- 인강용노트북
Archives
- Today
- Total
잡다한 사전
(2023.11.17) ES6 Module이란? 본문
반응형
ES6 모듈이란.. ?
● ES6에 도입된 모듈 시스템을 말합니다.
● ES6 Module은 import와 export를 사용해서 분리된 자바스크립트 파일을 접근 가능하게 할 수 있습니다.
기존 CommonJS 방식을 사용한 예제 모듈을 먼저 확인해보고, ES6 모듈을 적용했을 때 코드를 확인하면서 차이점을 알아보도록 하겠습니다.
기존 CommonJs 사용
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("test");
});
express 모듈을 불러올 때 CommonJS는 패키지를 불러와서 express 모듈을 사용하는 것을 확인할 수 있습니다.
2-1. 파일 단위로 ES 모듈 적용하기
(현재 시간을 찍어주는 모듈로 예를 들어보겠습니다.)
● time.mjs
//time.mjs
// commonJS를 사용할 때는 js파일을 사용하지만 ES6 Module을 사용할 때 확장자는 mjs로 변경해주어야 합니다.
import moment from "moment"; // 현재 시간을 찍어주는 모듈
export function time() {
return moment().format();
};
● time.now.js
import { time } from "./time.mjs";
console.log("Time:" time());
위 작업을 해줄 때 js파일 확장자를 바꿔주지 않으면 오류가 나는 것을 확인 할 수 있습니다.
ES6 Module을 사용하는 경우에는 확장자를 확인해야 오류가 나지 않으니 CommonJS를 사용하시다가 ES6 Module로 변경 하시는 분은 확장자를 확인하시는 것을 말씀드려요.
또한 import 부분에서 확자자를 포함해서 경로를 명시해주어야하니 작업하실 때 확인하시고 진행하시는 것이 좋습니다.
2-2 프로젝트 단위로 ES 모듈 적용하기
일일이 확장자를 변경하지 않고 프로젝트 전체에 ES 모듈을 적용하고 싶을 때는 먼저 package.json 파을 열고 최상단에 "type" : 항목을 module로 설정해줍니다.
"type": "module"
이후에 mjs로 변경해주었던 파일을 js 파일로 다시 변경해서 사용해주면 정상적으로 돌아가는 것을 확인 할 수 있습니다.
반응형
'프로그래밍 언어 > node.js' 카테고리의 다른 글
(2023.11.21) React란 무엇인지? (0) | 2023.11.28 |
---|---|
(2023.11.20) nodemon에 대해서... (1) | 2023.11.20 |
(2023.11.16) (MYSQL, Sequelize) 연결하기 (1) | 2023.11.20 |
(2023.11.15) (로그인 기능) 정규 표현식을 이용해서 유효성 검사하기 (2) | 2023.11.20 |
(2023. 11. 14) .env 환경변수 설정하기 (0) | 2023.11.17 |